【问题标题】:Heroku run rake db:migrate not workingHeroku 运行 rake db:迁移不工作
【发布时间】:2015-03-25 13:24:13
【问题描述】:

救命!!

我正在尝试将我的生产代码推送到 heroku,但由于某种原因 heroku run rake db:migrate 命令不起作用。它给了我这个错误:

Migrating to RemoveMealPlanFromOrders (20150125085531)
== 20150125085531 RemoveMealPlanFromOrders: migrating =========================
-- remove_reference(:orders, :mealplan, {:index=>true})
PG::Error: ERROR:  column "mealplan_id" of relation "orders" does not exist
: ALTER TABLE "orders" DROP "mealplan_id"
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

PG::Error: ERROR:  column "mealplan_id" of relation "orders" does not exist
: ALTER TABLE "orders" DROP "mealplan_id"/app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:128:in `exec'
...

我已经拼命尝试了所有方法,包括手动删除错误引用的迁移文件、运行rake db:reset、重置heroku 的数据库甚至重新启动heroku 应用程序,但无济于事。如果有人能提供解决此错误的方法,我将不胜感激。我需要在截止日期前提交此生产代码。

提前致谢!!!

【问题讨论】:

  • 您缺少迁移(在其中添加了 mealplan_id)
  • 你的意思是我缺少迁移? mealplan_id 不再存在,因为我删除了它与另一个模型的关联。
  • 错误是说引用已经在 POstgres 中删除了

标签: ruby-on-rails ruby postgresql heroku


【解决方案1】:

我发现了问题所在。显然我已经删除了本地机器上的冲突迁移,但忘记运行命令git push heroku。一旦我这样做了,我就可以毫无问题地做到heroku run rake db:migrate

编码愉快!

【讨论】:

    【解决方案2】:

    Heroku Postgres 是由 Heroku 运行的 SQL 数据库服务,由 Heroku 提供和管理。在将代码存储库从 git 推送到 Heroku 之前,您需要通过以下命令迁移数据库。

    heroku run rake db:migrate --app your_app_name.

    数据库迁移之后。

    git push heroku 大师

    如果您对数据库进行了任何更改,请确保在推入 heroku 之前迁移数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-13
      • 2012-06-16
      • 2012-12-09
      • 2023-03-04
      • 1970-01-01
      • 2011-10-05
      • 1970-01-01
      相关资源
      最近更新 更多