Ruby on rails “希罗库”;我们';“很抱歉,出了点问题。”;毕业后迁移

Ruby on rails “希罗库”;我们';“很抱歉,出了点问题。”;毕业后迁移,ruby-on-rails,database,heroku,crash,migration,Ruby On Rails,Database,Heroku,Crash,Migration,我最近做了Heroku请求的从“共享数据库”到Postgres的数据库迁移。我仔细地遵循Heroku的指示,一切顺利,直到最后一步:删除旧的共享数据库。在那个时候,我的应用程序出现了“有什么地方出了问题”的消息,并且从那个时起就一直在关闭(现在已经持续两周了) 请注意,在我切换到新数据库的步骤之后,应用程序仍在工作,根据“heroku配置”,它正在使用新数据库。它不应该关心旧的消失。日志只显示了500个错误 我向Heroku提交了一份紧急支持请求,但他们没有帮助。他们只是说我的数据还在,但“你的

我最近做了Heroku请求的从“共享数据库”到Postgres的数据库迁移。我仔细地遵循Heroku的指示,一切顺利,直到最后一步:删除旧的共享数据库。在那个时候,我的应用程序出现了“有什么地方出了问题”的消息,并且从那个时起就一直在关闭(现在已经持续两周了)

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

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

我同意问题不应该是由于迁移造成的,但考虑到我除了迁移之外没有对应用程序做任何更改,而且它在我删除旧数据库时就消失了,我不知道还有什么可能


目前我的应用程序可能已经很旧了(Rails 3.0.3),所以我现在唯一的想法就是将所有内容更新到最新版本并重新部署。该应用程序用于记录我们当地童子军的荣誉徽章和等级提升,所以我真的需要让它再次运行。任何建议都将不胜感激。

我的第一反应是db:提取heroku托管的数据库。(复印一份)


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

我的第一反应是db:拉入heroku托管的数据库。(复印一份)


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

如果在您删除共享数据库时应用程序开始失败,则表示您的应用程序仍连接到此数据库,并且从未连接到新数据库。在我看来,你好像没有运行heroku pg:promote heroku\u POSTGRESQL\应用程序。你能试试吗

编辑:

根据您评论中提供的进一步信息,这可能是aspen和Bambol stacks中的一个潜在问题(仅影响少数客户)。现在要尝试的是一个新的部署。尝试做一个小小的改变——也许是在项目自述中换行——然后再次部署应用程序。这将强制slug重新编译,使用正确的DB写出一个新的database.yml


更好的做法是迁移到cedar stack,但如果在您删除共享数据库的那一刻应用程序开始失败,这意味着您的应用程序仍然连接到此数据库,并且从未连接到新数据库。在我看来,你好像没有运行heroku pg:promote heroku\u POSTGRESQL\应用程序。你能试试吗

编辑:

根据您评论中提供的进一步信息,这可能是aspen和Bambol stacks中的一个潜在问题(仅影响少数客户)。现在要尝试的是一个新的部署。尝试做一个小小的改变——也许是在项目自述中换行——然后再次部署应用程序。这将强制slug重新编译,使用正确的DB写出一个新的database.yml


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

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

我确实这么做了。这是迁移说明()的一部分。另外,“heroku config”说我正在使用新的数据库。但是,我只是再次尝试,以确保。不好,是我干的。这是迁移说明()的一部分。另外,“heroku config”说我正在使用新的数据库。但是,我只是再次尝试,以确保。不好,我现在有一个理论。正如hgmnz所说,当我删除旧数据库时,该应用程序正好宕机,这一事实强烈暗示它正在使用该数据库。当我完成了所有正确的迁移步骤,并且“heroku config”说我正在使用新的数据库时,这怎么可能呢?这个怎么样:我的应用程序太旧了,没有像Heroku支持人员认为的那样使用堆栈(竹子)。我希望升级到最新的基础设施和重新部署能起到作用。我现在有了一个理论。正如hgmnz所说,当我删除旧数据库时,该应用程序正好宕机,这一事实强烈暗示它正在使用该数据库。当我完成了所有正确的迁移步骤,并且“heroku config”说我正在使用新的数据库时,这怎么可能呢?这个怎么样:我的应用程序太旧了,没有像Heroku支持人员认为的那样使用堆栈(竹子)。我希望升级到最新的基础设施并重新部署将起到作用。