在Rails Migration中,如何处理多数据库

时间:2010-12-06 23:44:23

标签: ruby-on-rails

如果我想在rails中使用多个数据库,我该如何处理每个数据库的单独迁移?

在这种情况下,我有一个帐户数据库和其他数据库。

有类似的东西:

迁移/帐户/ 迁移/ MyDatabase的/

所以我可以进行独立迁移。

1 个答案:

答案 0 :(得分:3)

在您的database.yml中创建与数据库的不同连接,如:

development1:
  adapter: mysql
  username: root
  password: 
  database: example_development1

development2:
  adapter: mysql
  username: root
  password: 
  database: example_development2

然后,使用以下方法为每个模型选择存储的每个数据库:

class Account < ActiveRecord::Base  
 establish_connection :development2
end

EDIT 如果要将其应用于迁移,您可以执行以下操作:

class Migration1 < ActiveRecord::Migration 
  def self.connection 
    Account.connection #being Account a model that has a connection to the database you want 
  end 
 .....
end