最近,我遇到了一个问题,即我的数据库方案更改未反映在Heroku PG上。我仔细检查了迁移和种子处理是否成功。甚至更奇怪的是,db方案更改在暂存heroku部署上运行良好(在完全相同的迁移/种子之后)。经过一番搜索后,我了解到您应该通过以下方式重新启动heroku:

heroku restart --app=app_name


我从来不需要这样做(我不是老手,但是我之前已经进行了大量迁移,也没有因为这个特殊原因而重新启动heroku)。

每次迁移后,我是否真的需要重新启动heroku?还是更多地视情况而定?

最佳答案

如果通过迁移对数据库进行更改,则需要在Heroku上重新启动应用程序。当Rails以生产模式启动时,它将缓存数据库模式。迁移在运行的Web进程不知道的一次性进程中运行。因此,要使其接受更改,您至少需要重新启动Web进程。如果在部署时您的应用程序处于空闲状态,并且运行了迁移,则它将在应用程序启动时采用新的架构。

07-24 09:47
查看更多