gpt4 book ai didi

ruby - rake db :schema:load loads schema. rb 多次?

转载 作者:数据小太阳 更新时间:2023-10-29 07:54:57 24 4
gpt4 key购买 nike

从 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 没有强制执行表约束,它运行完成。

最佳答案

你会看到它两次,因为在 development 中,Rails 在同一次运行中为 testdevelopment 运行数据库任务。

请参阅ActiveRecord::Tasks::Databasetasks文件以获取详细信息,尤其是方法 #load_schema_current(这个是因为您指的是它)和 #each_current_configuration

关于ruby - rake db :schema:load loads schema. rb 多次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44953657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com