2

Railsアプリケーションには2つのデータベースがあり、次の設定でこれを起動して実行できました

database.yml

development: &defaults
  adapter: mysql
  encoding: utf8
  database: <Database1>
  username: <user_name>
  password: <password>
  host: localhost

second_development: &defaults
  adapter: mysql
  encoding: utf8
  database: <Database2>
  username: <user_name>
  password: <password>
  host: localhost

test: &defaults
  adapter: mysql
  encoding: utf8
  database: <Database1_test>
  username: <user_name>
  password: <password>
  host: localhost

second_test: &defaults
  adapter: mysql
  encoding: utf8
  database: <Database2_test>
  username: <user_name>
  password: <password>
  host: localhost

しかし問題は、テスト ケースを実行するときです。「mocha」、「guard」、および「notahat-machinenist」を使用しています。テスト ケースを実行しようとすると、最初に schema.rb ファイルが実行されます。しかし問題は、最初のテストデータベースからのみスキーマを作成することです

test: &defaults
      adapter: mysql
      encoding: utf8
      database: <Database1_test>
      username: <user_name>
      password: <password>
      host: localhost 

これにより、2 番目のテスト データベース 'Database2_test' に関連するテストが失敗します。これに対する回避策は何でしょうか。

両方のデータベース スキーマを持つ schema.rb ファイルを生成します。

前もって感謝します

4

1 に答える 1

0

schema.rbの生成は、接続によって定義されます。したがって、適切なスキーマを作成するには、テストで適切な接続を使用する必要があります。

于 2012-04-04T08:05:41.433 に答える