Django数据库重新初始化

开发过程中 models.py 中的模型经历一番爆改后,执行migrate就报错。干脆重新初始化。

操作步骤:

  1. 删除旧的数据库文件,重新创建。如果你是使用SQLite,删除后无需重新创建,Django在运行迁移时可以自动完成SQLite数据库创建。如果使用其他数据库,需要手动创建一个新的数据库。

  2. 删除迁移文件 :删除每个应用下的migrations文件夹中除了__init__.py文件以外的所有文件。这一步是为了清除Django对旧数据库结构的迁移记录。

    复制代码
    import os
    
    exclude = ["venv"] # 需要排除的文件目录
    for root, dirs, files in os.walk('.'):
        dirs[:] = [d for d in set(dirs) - set(exclude)]
        if 'migrations' in dirs:
            dir = dirs[dirs.index('migrations')]
            for root_a, dirs_a, files_a in os.walk(os.path.join(root, dir)):
                for file_b in files_a:
                    if file_b != '__init__.py':
                        dst_file = os.path.join(root_a, file_b)
                        print('删除文件>>> ', dst_file)
                        os.remove(dst_file)
  3. 执行 重建数据库并初始化的命令:

    复制代码
    # 依次执行
    python manage.py flush 
    python manage.py makemigrations
    python manage.py migrate
相关推荐
devilnumber17 分钟前
MySQL 性能优化・诗意化记忆
数据库·mysql·性能优化
瀚高PG实验室1 小时前
PostgreSQL pg_basebackup 和 pg_rewind 可覆盖源端超级用户选择的无关文件HGVE-2026-E010
数据库·postgresql·瀚高数据库
whcyhhh1 小时前
头歌实践教学平台:数据科学与大数据技术导论(十二)
大数据·开发语言·python·数据清洗
qq_316411031 小时前
专业的腹腔镜医疗器械物联网APP开发服务商
python
阿童木写作2 小时前
跨境电商翻译利器,批量图片视频翻译+智能抠图工具
python·音视频
绘梨衣5472 小时前
异步任务队列-学习2
爬虫·python·学习·任务队列
OceanBase数据库官方博客3 小时前
亮相“十五五”公积金高质量发展大会“AI 数据库”助力智慧公积金升级
数据库·人工智能
用户8356290780513 小时前
使用 Python 在 Excel 中插入 OLE 对象
后端·python
one3123 小时前
高精度MEMS电容式倾角传感器:原理、结构与Python三维可视化
开发语言·python
龙虾PRO4 小时前
高并发场景数据库调优实操:目标定位、监控方法与优化维度全解析
数据库·oracle