最近、いくつかのコードをプルして rspec を実行しました。テストは問題なく合格しました。しかし、「rake db:migrate」と「rake db:prepare」を実行すると、問題が発生しました。
現在、rspec テストはパスせず、すべての失敗は同じエラーを示しています。
Mysql2::Error: Table 'app_test.admins' doesn't exist: SHOW FULL FIELDS FROM `admins`
問題は、データベース名がコードのどこにも指定されていないことです。database.yml では、「.admins」サフィックスなしで「app_test」が指定されています。
同様に、Rails サーバーを実行すると、次のエラーが表示されます。
Mysql2::Error: Table 'app_dev.admins' doesn't exist: SHOW FULL FIELDS FROM `admins`
yml に「app_dev」のみが指定されています。
rake コマンド (db:migrate、db:test:prepare、db:create、db:drop など) はすべて、database.yml で指定されたデータベースを変更しています。Rails が '.admins' サフィックスの付いたデータベースを探しているだけです。 . この「.admins」サフィックスはどこから来て、どうすれば削除できますか?