プロジェクトをRails3.0.9からRails3.2.5にアップグレードする作業をしています。私は複数のデータベースを使用しており、Rails 3.2.5で移行を実行すると、すべてが正常に実行されますが、対応するデータベースではなく、デフォルトのデータベースで作成されます。
接続プールの問題だと思いますが、接続プールのバグはrails3.1.xで修正されました。
これらは私のモデルです:
class Account < ActiveRecord::Base
establish_connection :accounts
end
class Patient < ActiveRecord::Base
end
:accountsは他のデータベースへの接続であり、他のクラスはデフォルトの接続を使用します。
これは私のdatabase.ymlです(外部ファイルを使用しているので、コードを変更せずにデータベース接続を変更できます)。
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: <%= database_config_file['database_dev'] %>
pool: 5
username: <%= database_config_file['username'] %>
password: <%= database_config_file['password'] %>
socket: /var/lib/mysql/mysql.sock
accounts:
adapter: mysql2
encoding: utf8
reconnect: false
database: <%= database_config_file['database_account'] %>
pool: 5
username: <%= database_config_file['username'] %>
password: <%= database_config_file['password'] %>
socket: /var/lib/mysql/mysql.sock
これは、クラスの移行です。
class CreateAccounts < ActiveRecord::Migration
def self.connection
Account.connection #Account model has a connection to the database I want
end
...
end
誰かが助けてくれることを願っています