You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

误删Django数据表后,如何从零开始重建全量数据库?

从零重建Django数据库的完整解决步骤

别担心,我帮你一步步捋清楚操作,按下面的流程走就能重新生成所有数据表:

1. 先做好基础检查与清理

  • 确认项目settings.py里,所有需要生成数据表的应用都在INSTALLED_APPS列表中——这是核心前提,如果应用没加进去,迁移命令根本不会处理它。
  • 确保已经彻底删除:所有应用下的migrations文件夹(包括里面的所有文件),以及根目录下的db.sqlite3文件(默认SQLite数据库文件)。

2. 重新生成迁移脚本

打开终端进入项目根目录,执行命令生成每个应用的初始迁移文件:

python manage.py makemigrations

这一步会自动在每个带模型的应用下重新创建migrations文件夹,以及对应的初始迁移脚本(比如0001_initial.py)。

提示:如果某些应用没有定义模型(models.py为空或不存在),这一步不会为它生成迁移文件,属于正常情况。

3. 执行迁移重建数据库

接着运行迁移命令,这会自动创建新的db.sqlite3文件,并将所有迁移脚本对应的表结构写入数据库:

python manage.py migrate

4. 验证结果

执行完上面的命令后,进入数据库shell查看数据表是否生成:

python manage.py dbshell
.tables

现在你应该能看到所有应用对应的数据表,包括Django自带的auth_user、django_session这类系统表。

额外补充

  • 如果你的项目用了自定义用户模型或特殊模型,先确保模型代码没有语法错误,否则makemigrations会报错,修复后再继续操作。
  • 之前创建的超级用户会随数据库文件删除,需要重新创建:
    python manage.py createsuperuser
    

内容的提问来源于stack exchange,提问作者Loctarogar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:11:41