基于Heroku的Django项目修改db schema后新字段未生效列不存在报错
Django模型新增字段推送到Heroku未同步问题解决
对应报错信息:
column quizTest_responden.nohp does not exist LINE 1: ...st_responden"."job", "quizTest_responden"."jobg", "quizTest_...
遗漏的核心操作步骤
- 未将本地生成的迁移文件提交到版本控制
本地执行python manage.py makemigrations生成的新增字段对应迁移文件(存放在对应app的migrations/目录下),需要通过git add、git commit操作纳入提交范围,否则推送到Heroku的代码缺少迁移规则,无法触发字段新增逻辑。 - 推送代码后未手动执行Heroku环境的迁移命令
Heroku不会自动执行数据库迁移操作,代码推送完成后,需要手动运行heroku run python manage.py migrate,才会将迁移规则同步到Heroku的正式数据库中,完成新字段添加。
异常排查方案
如果完成上述两步后仍报错,按以下方式排查:
- 运行
heroku run python manage.py showmigrations检查对应迁移文件的执行状态,确认迁移文件是否被识别、是否执行成功。 - 运行
heroku logs --tail查看迁移过程的详细报错,常见原因是新增字段未设置合理默认值、字段规则与已有数据冲突,导致迁移执行中断,字段未成功创建。
内容的提问来源于stack exchange,提问作者Andi Fathul Mukminin
相关产品推荐
相关产品推荐

