Heroku:如何在heroku应用程序中更新列名

时间:2016-07-18 09:03:53

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

虽然我的应用程序适用于我的云开发环境(colud9),但当我访问heroku的网址时会显示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时,列的名称尚未更改。

如何在myoku app中更新列的名称?

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

3 个答案:

答案 0 :(得分:1)

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

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

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

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

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

5)迁移后进行heroku restar

答案 1 :(得分:0)

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

heroku run console

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

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

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

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

希望它有所帮助。

答案 2 :(得分:0)

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