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

相关推荐
数据库学啊13 分钟前
分布式数据库架构设计指南:TDengine如何支持10亿级数据点的水平扩展
数据库·分布式·时序数据库·数据库架构·tdengine
郝学胜-神的一滴23 分钟前
Qt删除布局与布局切换技术详解
开发语言·数据库·c++·qt·程序人生·系统架构
闲人编程1 小时前
现代Python开发环境搭建(VSCode + Dev Containers)
开发语言·vscode·python·容器·dev·codecapsule
小丁爱养花1 小时前
Redis - set & zset (常用命令/内部编码/应用场景)
数据库·redis·缓存
nvd112 小时前
python异步编程 -- 深入理解事件循环event-loop
python
chenchihwen2 小时前
AI代码开发宝库系列:Text2SQL深度解析基于LangChain构建
人工智能·python·langchain·text2sql·rag
GottdesKrieges2 小时前
OceanBase集群诊断工具:obdiag
数据库·sql·oceanbase
CILMY232 小时前
【一问专栏】Python中is和==的区别详解
开发语言·python·is·==
大G的笔记本3 小时前
用 Redis 的 List 存储库存队列,并通过 LPOP 原子性出队来保证并发安全案例
java·数据库·redis·缓存
流子3 小时前
etcd安装与配置完全指南
数据库·etcd