Rails应用Heroku部署后部分功能异常求助
问题定位
从你提供的错误日志可以明确看到核心问题:PG::UndefinedTable: ERROR: relation "users" does not exist,也就是Heroku上的PostgreSQL数据库中缺少users表。本地运行正常是因为你在本地执行过数据库迁移,但部署新版本(f32ccf00)后,Heroku端没有同步执行这些迁移操作。
解决步骤
- 先确认你本地的数据库迁移文件(
db/migrate目录下的文件)已经全部提交到GitHub的f32ccf00版本中,没有遗漏。 - 通过Heroku CLI执行数据库迁移:
heroku run rails db:migrate - 如果迁移执行失败,或者部署后直接执行迁移有冲突,可以按以下步骤操作:
- 查看Heroku的发布记录,找到之前正常运行的版本号:
heroku releases - 回滚到那个正常版本:
(把XX替换成对应版本号,比如v12)heroku rollback vXX - 拉取最新代码后重新部署:
(如果你的部署分支是main,不是的话替换成对应分支名)git push heroku main - 再次执行迁移命令:
heroku run rails db:migrate
- 查看Heroku的发布记录,找到之前正常运行的版本号:
- 若仍有问题,可通过
heroku logs --tail实时查看完整日志,排查迁移过程中是否有其他报错。
内容的提问来源于stack exchange,提问作者iforgottosave
相关产品推荐
相关产品推荐

