【问题标题】: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 的建议。