2
從Rails 3升級到Rails 4後,db:schema:load
任務失敗。我做了一些挖掘,發現升級後當我運行bundle exec rake db:schema:load
db/schema.rb
文件正在加載兩次。第一次運行良好;那麼通過它的第二次失敗是由於create_table force: true
由於在表上存在依賴性約束而失敗。rake db:schema:多次加載load schema.rb?
我已經剝離了每一個額外的rake任務,並嘗試排除我的任何代碼,但仍然這兩次加載schema.rb。它總是正好兩次,因爲我能夠在SQLite上成功運行它,並在那裏看到相同的行爲,但由於SQLite沒有強制實施表約束,因此它會運行到完成狀態。
我在Rails 5中看到了這一點,但僅在開發環境中。 RAILS_ENV =測試正常。 –