witchの日記: (メモ) Ruby/ActiveRecord で複数DB同時接続
Railsに突入するまえにActiveRecordを覚えようかと。
(「いまからRails?」なんて言うな)
5分でわかるActiveRecord [634]
Magic Multi-Connectionsで複数のSQLite3ファイルを意識的に使う。 [与太郎プログラマの日記]
で、
ActiveRecord(Railsなし)で、複数DBに繋ぎたいとき
ActiveRecord::Base.configurations = {
"db1" => {
:adapter => "postgresql",
:host => "localhost",
:username => "postgres",
:password => "",
:database => "db1"
},
"db2" => {
:adapter => "postgresql",
:host => "localhost",
:username => "postgres",
:password => "",
:database => "db2"
}
}
class Users1 < ActiveRecord::Base
def self.primary_key() "uid" end
def self.table_name() "users" end
establish_connection(:db1)
end
class Users2 < ActiveRecord::Base
def self.primary_key() "uid" end
def self.table_name() "users" end
establish_connection(:db2)
end
puts "DB1: #{Users1.count}"
puts "DB2: #{Users2.count}"
と書いたらそれなりに動いているみたいなのだけど、合っているんでしょうか…(すごく遅いけど)
複数のDBに同じ名前で同じ構造のテーブルが存在していて、お互いのデータの内容を比較チェックするプログラムを作ろうかなあと…
「ActiveRecordなんて使わなくてもできるじゃん」
と言われるともっともなんですけどね。
(メモ) Ruby/ActiveRecord で複数DB同時接続 More ログイン