VS Code开发应用本地正常,Heroku部署遇500错误及数据库列缺失问题
问题根源
本地开发时你修改了blog_posts表结构(新增author_id列),但部署到Heroku后未同步执行数据库迁移,导致线上数据库表结构与本地不一致,触发查询失败。
修复步骤
确认迁移文件有效性
检查本地项目的迁移目录(如Django的migrations、Flask-SQLAlchemy的迁移脚本),确保新增author_id列的迁移逻辑已正确生成。在Heroku上执行迁移
终端登录Heroku账号后,执行对应框架的迁移命令:# Django项目 heroku run python manage.py migrate # Flask项目(使用Flask-Migrate) heroku run flask db upgrade该命令会将本地迁移脚本应用到Heroku数据库,补全缺失的
author_id列。验证修复效果
迁移完成后重新访问应用,若仍有错误,通过以下命令实时查看日志排查:heroku logs --tail
后续建议
- 每次修改数据库表结构后,必须生成新迁移文件,部署后立即执行迁移操作。
- 生产环境避免使用SQLite:Heroku文件系统为临时存储,应用重启后数据会丢失,建议切换到PostgreSQL(Heroku提供免费实例)。
内容的提问来源于stack exchange,提问作者Loco Alfayed
相关产品推荐
相关产品推荐

