RoR = 2.3.11 Ruby = 1.8.7 宝石= 1.3.7
我有一个数据库(称之为“First”),有4个表。我有另一个数据库(称为此数据库"Second"
),(使用另一个密码)。我想从Second
获取电子邮件(字段)和表,如果有任何更新并插入First
数据库。
问题:我怎么做?
答案 0 :(得分:5)
您可以在database.yml中定义不同的数据库。
first:
adapter: mysql
database: first_development
username: user
password: pwd
host: localhost
second:
adapter: mysql
database: second_development
username: user
password: pwd
host: localhost
然后使用ActiveRecord::Base.establish_connection
class A < ActiveRecord::Base
ActiveRecord::Base.establish_connection "first"
end
class B < ActiveRecord::Base
ActiveRecord::Base.establish_connection "second"
def self.sync
A.all.each do |record|
B.create(:email => record.email)
end
end
end
我添加了一个名为sync的简单方法,它可以作为同步问题的起点,