解决Django迁移无法生成表:No migrations to apply
很多同学在Django框架学习中,执行数据库迁移操作总能遇到以下问题:
执行生成迁移脚本命令,能成功生成迁移脚本,但是在执行数据库迁移命令时总是提示:No migrations to apply。如下图:
原因是:大部分学生由于一些不规范的操作,然后把应用下面的migrations文件夹(或者migrations下的除了__init__.py之外的文件)删除了,再重新生成新的迁移脚本(这里举例:版本为001.py)。但是在数据库中的django_migrations表还有对应原来的应用的记录。所以迁移失败。
正确的操作方式如下:
1. 进入数据库,找到django_migrations的表,删除要重新迁移的应用对应的所有记录。
2. 删除该应用下的migrations下的除了__init__.py之外的文件。
3. 在项目路径下,一次执行以下两条命令:
python manage.py makemigrations
python manage.py migrate
|
|