【问题标题】:Rails on Heroku database migration does not workHeroku 数据库迁移上的 Rails 不起作用
【发布时间】:2015-08-13 23:08:42
【问题描述】:

我见过一些类似问题的问题,但没有一个能解决我的问题。这是我向我的数据库添加新列的命令:

$ rails g migration "WhateverIWantTodo"

我写代码

$ rake db:migrate

我在我的本地主机上检查了所有内容都适用于新字段。

$ heroku run rake db:migrate --app myappname

在此之后我没有得到任何失败的迹象,这是输出:

ActiveRecord::SchemaMigration 加载 (1.5ms) SELECT "schema_migrations".* FROM "schema_migrations"

$ heroku restart --app myappname

在此之后,我检查了我的实时应用,得到“出了点问题”,这是我的日志:

ActionView::Template::Error(未定义方法`name_of_my_new_column'

我尝试了几次重启,但没有任何帮助,有什么想法吗?

编辑:是的,我也确实将我的代码更改推送到 Heroku。

这是我的迁移文件:

class AddSecondBuyerToClient < ActiveRecord::Migration
  def change
    add_column :clients, :second_buyer_email, :string
    add_column :clients, :second_buyer_phone, :string
    add_column :clients, :second_buyer_name, :string
  end
end

【问题讨论】:

  • 你把你的新代码推送到heroku了吗?
  • 是的,添加了带有迁移文件的代码以及破坏页面的更改。
  • 显示你的迁移文件
  • 运行heroku pg:psql 在heroku 上打开postgres,看看你的专栏是否在那里。如果是,那么您的错误在于您的代码,如果不是,我会重新推送您的代码并确保迁移文件到达 heroku。
  • 你有最新的代码吗……也推送了?

标签: ruby-on-rails heroku


【解决方案1】:

回答我自己的问题:在我迁移到 Heroku 之前,不知何故代码推送尚未完成。好像是输出:

ActiveRecord::SchemaMigration 加载 (1.5ms) SELECT "schema_migrations".* FROM "schema_migrations"

表示出了点问题,因为显然输出应该显示您的更改。

今天的教训:确保在运行迁移之前将迁移文件推送到 Heroku

【讨论】:

    猜你喜欢
    • 2016-09-20
    • 1970-01-01
    • 2018-03-07
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 2013-09-20
    • 2011-10-05
    相关资源
    最近更新 更多