【发布时间】:2012-02-29 08:41:51
【问题描述】:
在我推送到 Heroku 并运行 rake db:migrate 后,我的应用程序刚刚崩溃。但是这个错误没有意义......
ActionView::Template::Error (undefined method `email_address' for #<Invite:0x000000065fb788>):
...因为迁移包含:
rename_column :invites, :email, :email_address
所以我最终发现它在应用重启后可以工作 (heroku restart)。很划算。
但是,我对 rake db:migrate 现在的工作方式感到困惑。其他每个迁移都会在不重新启动的情况下拾取相应的模型属性。
当我在 Heroku 上运行 rake db:migrate 时会发生什么? 是什么促使应用获取新的模型属性,为什么这次没有起作用?
【问题讨论】:
-
我曾经在 Heroku 上也遇到过这种情况 - stackoverflow.com/questions/7373039/…
-
你在 Heroku 控制台上使用过“heroku run rake db:migrate”吗?
-
我实际上在 Heroku 控制台上使用了
`rake db:migrate`,这绕过了我不拥有该应用程序,因此没有权限正常进行 rake 的事实(即heroku run rake db:migrate)。在 Heroku 控制台上使用反引号绕过权限是我发现的一种技巧,我希望它们不会修复。 ;)
标签: ruby-on-rails heroku rake