0

アプリで2つの異なるデータベースを使用する必要があります。簡単な例を見つけました:

http://pullmonkey.com/2008/4/21/ruby-on-rails-multiple-database-connections/

establish_connectionを使用していますが、機能していないようです。スイッチングデータベースをテストするために、私は持っています:

  class User < ActiveRecord::Base
    establish_connection :test
    # attr_accessible :title, :body
  end

しかし、「キャッチされない例外:データベース構成でアダプターが指定されていません」というエラーが発生します。

これが私のdatabase.yamlです:

development:
  adapter: mysql2
  encoding: utf8
  database: foo
  username: bar
  host: foo.com
  password: foobar

test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000

このテストでは、開発モードで実行しています。切り替えられない理由はありますか?ありがとう。

4

1 に答える 1

0

最初の「pulmonkeyexample」は、複数のデータベースがあり、「開発、テスト、および実稼働」の 3 つの標準データベース以外のデータベースがある場合に、データベース ラベルを使用することです。Rails アプリケーションを起動するときに、「-e」オプションを使用して、アプリケーションを起動するモード (test、dev、prod) を Rails に指示できます。アプリが起動しているモードに応じて、Rails は「database.yml」ファイルから対応するデータベース接続を自動的に使用します。そのため、モデルからその行を削除してください。よく考えてみると、まだ書いていても、ユーザー テーブルを含むテスト データベースがあれば動作するはずです。

于 2013-04-02T19:51:22.050 に答える