Go教程

django删除数据库表,重新makemigrations与migrate数据库不能再生成表的问题

本文主要是介绍django删除数据库表,重新makemigrations与migrate数据库不能再生成表的问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

今天在数据库没有备份的情况下,删除了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指令。

这篇关于django删除数据库表,重新makemigrations与migrate数据库不能再生成表的问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!