gpt4 book ai didi

ruby-on-rails - Rake 数据库中的 Rails 挂起迁移 :test:prepare

转载 作者:行者123 更新时间:2023-11-29 12:21:52 25 4
gpt4 key购买 nike

我运行了 rake db:migrate 并且我的所有迁移都运行了。但是,当我尝试运行 rake db:test:prepare 时出现错误:

You have 1 pending migrations:
20130724211328 CreateGalleries
Run `rake db:migrate` to update your database then try again.

然后再次运行 rake db:migrate 给出错误:

PG::Error: ERROR:  relation "galleries" already exists...

但在控制台中,我可以完全按照 CreateGalleries 迁移中所示创建和操作 Gallery 模型。该表未在任何其他迁移中创建或提及。

看起来迁移运行得很好,但没有注册。有什么解决办法吗?

编辑

我用 rake db:drop db:create db:migrate 然后 rake db:test:prepare 解决了这个问题,但我很乐意将解决方案提供给任何人谁能首先阐明导致问题的原因。

最佳答案

我怀疑画廊的迁移没有正确执行。如果您 100% 确定表中的所有内容都正确,则可以将迁移版本提升到画廊迁移的版本。

为此,找到画廊迁移的时间戳(迁移文件前面的 14 个数字,在本例中为 20130724211328)并将其作为新行插入到表中 schema_migrations(在成功执行迁移后由 Rails 自动完成)。

如果表是空的,您也可以删除表 galleries 并再次运行 rake db:migrate。通过这种方式,您还可以确保您的迁移不会触发任何错误。

关于ruby-on-rails - Rake 数据库中的 Rails 挂起迁移 :test:prepare,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17948862/

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