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

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

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

相关文章:

  • 2021-09-15
  • 2021-10-31
  • 2022-12-23
  • 2022-12-23
  • 2021-05-20
  • 2022-12-23
  • 2021-05-30
  • 2021-06-13
猜你喜欢
  • 2022-01-16
  • 2022-12-23
  • 2022-12-23
  • 2021-05-06
  • 2021-12-17
  • 2021-07-20
  • 2022-12-23
相关资源
相似解决方案