2017-08-16 10 views
1

が実行中のruby 2.4.1p111 (2017-03-22 revision 58053)に遭遇しました。移行を実行するたびに、テストDBを状態実行テストにすることは不可能で、テストデータベースと開発の両方を取得します。私は、移行テーブルを作成し、列に作成しようとインデックスを持っていたため、この問題が発生したRails 5のテストデータベースが開発と同期していない

rails db:drop 
rails db:migrate RAILS_ENV=test 
rails db:migrate 
rails db:seed 

答えて

0

:彼らは両方とも、次の移行コマンドを作業している状態にデータベースがこの順序で実行する必要があります私は名前が変更されているので、スキーマには[null]のインデックスが表示されていましたが、明らかに開発用DBには対応できますが、テスト用データベースではdb移行されました

開発者とテストDBの両方をテストを実行できるようにするためです。最終的には、既存テーブルのヌルカラムのインデックスをdb/schema.rbに追跡しました。テーブル作成の移行でindexコマンドを見つけて、それを消去するのはかなり簡単です。その後、DBはちょうど

rails db:migrate 
rails db:seed 
とフォームに戻すことができます
関連する問題