【问题标题】:Heroku: How to update column name in heroku appHeroku:如何在 Heroku 应用程序中更新列名
【发布时间】:2016-07-18 09:03:52
【问题描述】:

虽然我的应用可以在我的云开发环境(colud9)中运行,但是当我访问heroku的url时会显示We're sorry, but something went wrong.

我在开发环境中更改了列的名称。

我尝试了以下命令;

git commit -a -m "xxx"
git push heroku master
heroku run rake db:migrate
heroku restart

当我在 heroku 中检查 schema 时,列名没有改变。

如何在我的 heroku 应用中更新列的名称?

如果您能给我任何建议,我们将不胜感激。

【问题讨论】:

  • 你在提交之前添加了迁移文件吗?

标签: ruby-on-rails ruby-on-rails-4 heroku


【解决方案1】:

我怀疑,您在创建提交之前没有添加迁移文件。所以你需要添加迁移文件,然后需要创建提交。请遵循以下命令。

1) 将迁移文件添加到 Git git add .

2) 提交 git commit -m "添加迁移文件"

3) 将更改推送到 Heroku git push heroku master - 假设您正在使用 heroku 作为您的远程名称,您正在主分支中工作

4)run heroku run rake db:migrate 在 HEROKU 上运行迁移

5) 在迁移之后执行 heroku restar

【讨论】:

    【解决方案2】:

    你可以做的是在 heroku 上启动一个控制台:

    heroku run console
    

    例如,您想更新 users 表的列名 然后执行以下操作:

    User.all.each {|user| user.update_attribute :column_name}
    

    如果您想为列提供一些默认值,请执行以下操作:

    User.all.each {|user| user.update_attribute :column_name, 'value'}

    希望对你有帮助。

    【讨论】:

      【解决方案3】:

      运行 heroku run rake db:version 检查版本是否与您在本地计算机上的上次迁移匹配。如果不遵循@power 的建议。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-11-28
        • 2015-11-17
        • 2013-02-21
        • 1970-01-01
        • 2022-01-24
        • 2015-02-07
        相关资源
        最近更新 更多