我运行
python manage.py makemigrations,我得到:
未检测到任何更改
然后,python manage.py迁移,我得到:
无需迁移.
然后,我尝试将更改推送到生产:
git push heroku master
一切都是最新的
然后,在生产中,我重复命令:
heroku运行python manage.py migrate
无需迁移.
为了以防万一,我在生产中运行makemigrations:
heroku run python manage.py makemigrations No changes detected
为什么我得到一个
ProgrammingError at .... column .... does not exist
“未检测到任何更改”表示数据库与代码一致.
我该怎么调试呢?
解决方法
Django迁移记录在数据库的“django_migrations”表下.这就是Django如何知道哪些迁移已经应用以及哪些仍然需要应用.
查看数据库中的django_migrations表.应用迁移时可能出现问题.因此,删除表中具有与该列“不存在”相关的迁移文件名的行.然后,尝试重新运行迁移.