【发布时间】:2011-01-20 02:47:48
【问题描述】:
我正在使用 rails 2.3.5 和 mysql。
我有一个模型 TableA 和另一个模型 TableB。 TableA 完全没问题.. 但我需要为 TableB 交换连接。我正在连接到其他地方的另一台服务器,所以我必须检查该表是否存在。如果没有,我将创建一个新表。
TableB.establish_connection(new_database_params)
unless TableB.table_exists?
ActiveRecord::Base.establish_connection(new_database_params)
ActiveRecord::Schema.define do
create_table :table_bs do |t|
t.column :text, :string
end
end
ActiveRecord::Base.establish_connection("#{RAILS_ENV}")
end
我注意到 TableB.establish_connection(new_database_params) 将我连接到新服务器。这完全没问题。
当我试图创建一个新表时,我仍然需要调用 ActiveRecord::Base 来交换连接。有没有办法交换 ActiveRecord::Schema 上的连接? (类似于Model.establish_connection?)
【问题讨论】:
-
你找到这个答案了吗?我正在尝试实现完全相同的目标。
标签: ruby-on-rails