0

我最近做了 Heroku 请求的从“共享数据库”到 Postgres 的数据库迁移。我仔细按照 Heroku 的指示,一切都很好,直到最后一步:删除旧的共享数据库。那时,我的应用程序因“出现问题”消息而停机,此后一直停机(现在持续两周)。

请注意,在我切换到新数据库的步骤之后,该应用程序仍在工作,并且根据“heroku config”,它正在使用新数据库。它不应该关心旧的消失。日志只说 500 个错误。

我向 Heroku 提交了紧急支持请求,但他们没有帮助。他们只是说我的数据仍然存在,但是,“您的应用程序没有记录,所以不清楚为什么会发生这种情况,但似乎不是由于迁移。” 那是一周前的事了,所以看起来他们不会再做任何事情了。

我同意问题不应该是由于迁移造成的,但鉴于除了迁移之外我没有对应用程序进行任何更改,并且它在我删除旧数据库时就死了,我看不出还有什么可能。

此时我的应用程序可能已经很旧了(Rails 3.0.3),所以我现在唯一的想法是将所有内容更新到最新版本并重新部署。该应用程序用于记录我们当地童子军部队的功绩徽章和排名进步,所以我真的需要让它再次运行。任何建议将不胜感激。

4

3 回答 3

2

我的第一直觉是 db:pull heroku 托管数据库。(复印)。

然后尝试在本地启动您的应用程序。

于 2012-08-21T04:44:03.107 回答
1

Heroku 已经解决了这个问题。我的假设是正确的:我的应用程序太旧了,以至于迁移过程实际上并没有更新它以使用新数据库。他们说他们现在将把修复应用到他们的其他旧应用程序中。

于 2012-08-22T16:21:32.207 回答
0

If the app started failing the moment you removed the shared database, it means that your app was still connected to this database and was never connecting to the new one. It sounds to me like you did not run heroku pg:promote HEROKU_POSTGRESQL_<color of new database> --app <your-app>. Can you try that?

Edit:

Based on the further info provided in your comments, it's possible that this is a potential issue in the aspen and bamboo stacks (that only affect a few customers). The thing to try now is a new deploy. Try making a trivial change - maybe a newline in your project README - and deploy the app again. This will force a slug recompile that will write out a new database.yml using the correct DB.

Even better would be to migrate to the cedar stack though

于 2012-08-21T16:12:13.520 回答