0

特定の環境 (ステージングまたは本番環境など) 用に 2 つのデータベース インスタンスを構成したいと考えています。デフォルトのレールの新しいアプリケーションは、単一のデータベース インスタンスを提供するだけですが、2 つのデータベース インスタンスを構成するにはどうすればよいですか。

4

1 に答える 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 に答える