No migrations to apply 问题解决方法

当我们创建数据库,然后进行数据迁移时,发现表错误,我们删除了数据库中的表,同时又删除了migrations中的迁移文件,这时候我们进行迁移会报错:No migrations to apply,最暴力最简单的操作就是删库跑路,但如果不想跑路,解决措施如下:
先执行python manage.py makemigrations 信息如下:
No migrations to apply 问题解决方法_第1张图片
再执行python manage.py migrate 就会报错:
No migrations to apply 问题解决方法_第2张图片
其实当我们迁移文件时,一共会生成三方文件,迁移文件、数据库中的表以及迁移信息的记录

这里我以sqlite数据库举例,打开数据库,找到如下表中的django_migrations表:
No migrations to apply 问题解决方法_第3张图片
打开会看到:
No migrations to apply 问题解决方法_第4张图片
我们生成了一条 迁移的记录,所以数据库会以为我们已经迁移完成,不会在进行迁移操作。
所以我们只需要删除这条记录即可:
再次执行 python manage.py migrate
No migrations to apply 问题解决方法_第5张图片
这时,我们就会迁移成功了。

记住:迁移文件、数据库中的表以及迁移信息的记录这三方删除的时候缺一不可,缺少任何一方都会报错。

你可能感兴趣的:(数据库操作,迁移不成功,No,migrations,to,apply,python,django,数据库)