gpt4 book ai didi

ruby-on-rails-4 - 即使没有挂起的迁移,Rails 4 也会抛出挂起的迁移错误

转载 作者:行者123 更新时间:2023-12-04 02:24:57 25 4
gpt4 key购买 nike

我最近将我的应用程序从 Rails 3.2.15 升级到 Rails 4.0.4 并且 rake 测试失败:

You have 161 pending migrations:
20111126090934 DeviseCreateUsers
20111126195631 AddUsernameToUsers
20111128012039 CreateLocations
20111129051416 AddConfirmableToDevise
...
Run `rake db:migrate` to update your database then try again.

我确定,我没有任何挂起的迁移,并且 schema_migrations 表是最新的,包含所有迁移版本号。还有,

[2] pry(main)> ActiveRecord::Migration.check_pending!
ActiveRecord::SchemaMigration Load (0.4ms) SELECT `schema_migrations`.* FROM `schema_migrations`
=> nil
[3] pry(main)>

因为,这是开发环境,我也尝试过 reset db与:

$> rake db:migrate:reset

我正在将我的应用程序从 Rails 3.2.15 迁移到 Rails 4.0.4。我在这里不知所措,不明白发生了什么。

$> rake db:migrate:status

Status Migration ID Migration Name
--------------------------------------------------
up 20111126090934 ********** NO FILE **********
up 20111126195631 ********** NO FILE **********
up 20111128012039 ********** NO FILE **********
up 20111129051416 ********** NO FILE **********
...

最佳答案

这有点奇怪和令人沮丧。我在 db/migrate 目录中有子文件夹,即使较旧并且已经迁移,由于某种原因正在通过 ActiveRecord::Migrator#pending_migrations 列出,因此出现错误。删除子文件夹解决了这个问题。

想知道这在 Rails 3 中是如何工作的,但找不到任何与此相关的文档。

关于ruby-on-rails-4 - 即使没有挂起的迁移,Rails 4 也会抛出挂起的迁移错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22616015/

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