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