【问题标题】:Rails: ActiveRecord::PendingMigrationErrorRails:ActiveRecord::PendingMigrationError
【发布时间】:2017-04-10 18:23:23
【问题描述】:

我需要一些帮助,才能让我的 Cloud 9/Rails 环境再次运行,以完成我正在通过 Upskill 进行的在线课程。我遇到了一个部分的问题,最终回滚到之前的提交。但是,自从我这样做后,我遇到了一些我无法解决的数据库错误。

这是我尝试访问我的应用时得到的结果:

ActiveRecord::PendingMigrationError 迁移待定。要解决此问题,请运行:bin/rails db:migrate RAILS_ENV=development

我已经尝试了建议的方法来解决它,但它没有奏效,我在其他线程中也没有找到其他十几个具有类似消息的建议。

以下是我在运行 rails db:migrate:status 时看到的内容。所以我相信这可能与那里的第三项有关。

状态迁移 ID 迁移名称

向上 20170331144924 创建联系人

向上 20170406172755 设计创建用户

down 20170410151911 向用户添加设计

我真的很迷茫,但只是希望能回到原来的位置,这样我就可以继续上课了。谢谢。

【问题讨论】:

  • 您能详细说明“六条其他建议”吗?如果我们不知道您有什么或没有尝试过什么,我们将无法提供很好的帮助。
  • 大部分建议都涉及删除数据库并重新创建它,我已经尝试了几次,但我仍然遇到同样的错误。我尝试了几种 Rails db:migrate 变体,但无济于事。所以只是不确定还有什么可以尝试的。
  • 如果你不关心db数据,你可能只需要rake db:drop db:create db:migrate。或者,您可能需要删除该文件,查看 db/migrate 文件夹并发布其中的内容。看起来它想要运行该迁移。
  • 你也可以 rake db:schema:load 删除迁移文件。
  • 从该错误消息看来,您似乎缺少应该创建用户表的迁移。你确定你没有错过某个地方的迁移,你要么删除了要么忘记写了吗?

标签: ruby-on-rails


【解决方案1】:

对我有用的是:

rake db:test:purge
rake db:test:prepare

【讨论】:

    【解决方案2】:

    您是否尝试过运行像这样失败的特定迁移? Ref

    rake db:migrate:up VERSION=20170410151911
    

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 2014-07-28
      • 2017-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-18
      相关资源
      最近更新 更多