我的应用程序在本地正常运行,并在Heroku上运行时崩溃。应用程序运行正常,直到我运行new_post_path调用。我尝试使用git push来查看是否对new.html.erb文件或_form.html.erb文件进行了更改 - 但我认为在上次推送到heroku期间 - 我的数据库可能已经受到了影响。当时我正在添加一个t.text字段(longtext),这似乎是个问题。
所以我想回滚或完全重新启动heroku。但无论如何我还没有找到它。由于这还没有接近生产。反正只是在heroku创建一个新实例并推动它吗?
同样,本地版本运行完美。提前感谢任何想法。
答案 0 :(得分:1)
我想说有几种方法可以解决这个问题
在rails目录中运行$ heroku restart
。有时我相信魔法。
使用$ heroku log
调试导致错误的原因。
也许您在本地rails中进行了数据库更改,而heroku rails则没有。
运行heroku run rake db:migrate
见this thread。有时,旧迁移可能与当前迁移相冲突。如果数据库中的数据不重要,请执行干净迁移。
运行$ heroku apps:destroy –app appname
并将appname
替换为您的appname。然后从git中删除当前的heroku
远程存储库位置。 git remote rm heroku
。然后重新创建heroku。运行$ heroku create
。像往常一样推动你的代码和迁移数据库。
答案 1 :(得分:0)
重新启动可能是您遇到的问题中最少的,所以我建议一些事情:
在版本上查看此Heroku article,包括Heroku回滚功能。
将PG Backups插件添加到您的应用中。
我还建议将exception_notification gem与SendGrid插件结合使用,以便您可以收到包含错误详情的电子邮件。