今天在数据库没有备份的情况下,删除了django某个app的表。于是在控制台下重新输入数据迁移的命令:
python manage.py makemigrations
python manage.py migrate
结果都显示:
No changes detected
NO migrations to apply
打开django目录下的app目录中的migrations文件夹,发现除了__init__.py还有其他几个数据迁移的记录文件,表明数据迁移过,但是进行迁移无法重新生成表。
解决办法:在数据库管理中找到django_migrations的表,这里存放着所有app迁移的记录,找到对应app的记录,选中全部删除,然后再在控制台进行指令:python manage.py migrate,之后就会发现数据表重新生成了。
如果app目录中的migrations文件夹中,除了__init__.py文件,没有为他文件,则执行了makemigrations指令再执行migrate指令。