现象
执行
python manage.py migrate
时,系统提示
No migrations to apply.
但是数据库中仍然没有迁移后的表格。
解决方案
执行
python manage.py dbshell
进入 dbshell 。执行
SELECT * FROM django_migrations
发现将要执行的迁移脚本的 id 已经添加在表中了,将其删除即可。
原因
发现是之前按照某个说明执行了一次
python manage.py migrate --fake
导致的。--fake
的含义是不执行该迁移脚本但是标记该脚本已经被执行过。导致之后无法正常进行迁移。