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

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐