【发布时间】:2017-12-10 17:47:39
【问题描述】:
从 Rails 3 升级到 Rails 4 后,db:schema:load 任务失败。我做了一些研究,发现升级后当我运行bundle exec rake db:schema:load 时,db/schema.rb 文件被加载了两次。第一次运行良好;然后第二次通过它失败,因为 create_table force: true 由于表上存在依赖约束而失败。
我已经剥离了所有额外的 rake 任务并进行了增强以尝试排除我的任何代码,但这仍然会加载 schema.rb 两次。它总是恰好是我能够在 SQLite 上成功运行它并在那里看到相同行为的两倍,但由于 SQLite 没有强制执行表约束,它运行完成。
【问题讨论】:
-
我在 Rails 5 中看到了这一点,但仅在开发环境中。 RAILS_ENV=test 工作正常。
标签: ruby ruby-on-rails-4 rake