如何将数据从另一个数据库导入我的数据库?

时间:2011-06-09 08:19:45

标签: ruby-on-rails

RoR = 2.3.11 Ruby = 1.8.7 宝石= 1.3.7

我有一个数据库(称之为“First”),有4个表。我有另一个数据库(称为此数据库"Second"),(使用另一个密码)。我想从Second获取电子邮件(字段)和表,如果有任何更新并插入First数据库。

问题:我怎么做?

1 个答案:

答案 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的简单方法,它可以作为同步问题的起点,