Django创建数据库表失败处理方法

手动删除数据库中的 Golden 表后,重新运行 makemigrations 和 migrate 命令时,Django 提示没有需要应用的迁移(No migrations to apply),导致表未重新创建。以下是可能的原因和解决方案:

问题原因

迁移文件未更新

删除数据库表后,Django 的迁移文件仍然认为表已经存在,因此不会重新创建表。

迁移文件冲突

可能存在多个迁移文件,导致 Django 无法正确识别需要应用的迁移。

数据库状态未同步

Django 的 django_migrations 表中仍然记录着已应用的迁移,导致 Django 认为不需要重新创建表。

一、方法

golden为APP名称

删除 golden/migrations/ 目录下的所有文件(保留 init.py)。

重新生成迁移文件:

python manage.py makemigrations golden

应用迁移:

复制

python manage.py migrate golden

如果还不行,就强制迁移

python manage.py migrate golden --fake-initial

相关推荐
SelectDB技术团队18 小时前
驾驭 CPU 与编译器:Apache Doris 实现极致性能的底层逻辑
数据库·数据仓库·人工智能·sql·apache
shy^-^cky18 小时前
Python程序设计完整复习要点(含实例)
python·期末复习
万邦科技Lafite19 小时前
阿里巴巴商品详情API返回值:电商精准营销的关键
大数据·数据库·人工智能·电商开放平台
做萤石二次开发的哈哈19 小时前
萤石开放平台 萤石可编程设备 | 设备脚本自定义开发
开发语言·python·萤石云·萤石·萤石开放平台
Java水解19 小时前
JWT鉴权的实现:从原理到 Django + Vue3
django
tc&19 小时前
为什么 Kamailio 模块封装的 MySQL 函数能有效防范 SQL 注入?
数据库·sql·mysql·网络攻击模型·kamailio
liu****19 小时前
能源之星案例
人工智能·python·算法·机器学习·能源
cookqq19 小时前
Java+MySQL时区难题-Date自动转换String差8小时
数据库·mysql
sugarzhangnotes19 小时前
MySQL 8.0升级中的字符集陷阱与解决方案
android·数据库·mysql