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

如何解决Django执行migrate迁移命令时报错的问题

Django执行migrate命令报错解决方案

你遇到的报错是典型的迁移记录与数据库实际表结构不匹配导致的,通常是数据库中已经存在迁移要创建的表,但Django的django_migrations系统表中没有对应迁移的执行记录,导致migrate执行时尝试重复建表报错。

可清空当前数据库数据的场景(多为本地开发环境)

  • 删除所有应用下migrations目录中除__init__.py之外的所有文件
  • 清空数据库中所有已创建的业务表,或直接删除当前数据库后新建同名空数据库
  • 重新执行迁移命令:
python manage.py makemigrations
python manage.py migrate

不可清空现有数据的场景(多为线上/测试环境)

  • 执行假迁移命令,将现有迁移记录标记为已执行,跳过建表步骤:
python manage.py migrate --fake
  • 如果仅单个应用报错,可以单独对指定应用执行假迁移:
python manage.py migrate --fake 你的应用名
  • 后续有新的表结构改动时,正常执行makemigrations和migrate命令即可,不会再触发重复建表报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:54:03