2017-07-06 10 views
2

Rails 3からRails 4にアップグレードした後、db:schema:loadタスクが失敗しています。私はそれを掘り下げて、アップグレード後にbundle exec rake db:schema:loadを実行したときに、db/schema.rbファイルが2回ロードされていることが分かりました。初めてうまくいく。テーブルに依存関係の制約があるため、create_table force: trueが失敗して2回目に失敗します。rake db:schema:schema.rbを複数回ロードしますか?

私はすべての追加のレーキタスクを取り除き、自分のコードを除外しようとしましたが、それでもschema.rbが2回ロードされます。私はSQLite上で正常に実行して同じ動作を見ることができるのと同じくらい常に正確に2倍ですが、SQLiteがテーブル制約を強制しないために完了します。

+0

これはRails 5で表示されていますが、開発環境でのみ表示されます。 RAILS_ENV =テストは正常に動作します。 –

答えて

0

Rakefileがタスクを2度読み込んでいないことを確認することがあります。 Rakeが既存のタスクと同じ名前のタスクを登録すると、古い定義を新しいタスクに置き換えるのではなく、順番に両方を実行します。

関連する問題