特定の環境 (ステージングまたは本番環境など) 用に 2 つのデータベース インスタンスを構成したいと考えています。デフォルトのレールの新しいアプリケーションは、単一のデータベース インスタンスを提供するだけですが、2 つのデータベース インスタンスを構成するにはどうすればよいですか。
質問する
64 次
1 に答える
1
開発などの既存の構成の 1 つをコピーして貼り付けることができます。database.yml で、必要に応じて名前を変更します。
development:
adapter: mysql2
encoding: utf8
reconnect: false
database:
pool: 5
username: root
password:
host: localhost
new_database:
adapter: mysql2
encoding: utf8
reconnect: false
database:
pool: 5
username: root
password:
host: localhost
次に、この新しい接続用に作成するモデルで、次のメソッドをモデルに追加します。たとえば、次のようになります。
class Document < ActiveRecord::Base
self.table_name = "document" # this allows you to hide a non comforming table name behind the rails model it is NOT necessary for establish_connection to work
self.establish_connection "new_database" # notice there is no = when setting this value, strange, I know.
end
于 2012-06-25T17:22:27.227 に答える