railsメモ railsで別DBを利用する

既存のユーザーテーブルなどを利用したいときがある。その場合は以下の様にすると良い

class Hoge < ActiveRecord::Base
  establish_connection(
                       :adapter  => "mysql2",
                       :host     => "ホスト",
                       :database => "データベース名",
                       :username => "ユーザー",
                       :password => "パスワード"
                       )
  self.table_name = "table名"
  self.primary_key = "プライマリーキー"
end

rails4で確認

hoge_db:
  adapter: mysql2
  encoding: utf8
  database: dbname
  username: user
  password: password
  host: host

という風にdatabase.ymlに追記していた場合は

class User < ActiveRecord::Base 
  establish_connection(:hoge_db)

end

となるし、共有したい場合は

class LegacyBase < ActiveRecord::Base 
  establish_connection(:legacy_db)
end

@app/models/user1.rb
class User1 < LegacyBase 
end

@app/models/user2.rb
class User2 < LegacyBase 
end

で良いらしい。
参照: http://rails3try.blogspot.jp/2011/06/rails3-db.html