私はrails 2.3.5とmysqlを使用しています。ActiveRecord :: Schemaの接続切り替え
私はモデル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に似ています)
この回答は見つかりましたか?私はまったく同じことを達成しようとしています。 –