首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rake :schema:load多次加载schema.rb?

rake :schema:load多次加载schema.rb?
EN

Stack Overflow用户
提问于 2017-07-06 23:50:58
回答 2查看 762关注 0票数 4

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

EN

回答 2

Stack Overflow用户

发布于 2018-08-15 13:28:32

您会看到它两次,因为在development中,Rails在同一个运行中运行testdevelopment的db任务。

有关详细信息,请参阅ActiveRecord::Tasks::Databasetasks文件,特别是方法#load_schema_current (此方法是因为您引用了它)和#each_current_configuration

票数 4
EN

Stack Overflow用户

发布于 2017-07-08 05:26:15

您可能会检查以确保您的Rakefile没有加载两次任务。当Rake注册一个与现有任务同名的任务时,它将按顺序运行两个任务,而不是用新的定义替换旧的定义。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44953657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档