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

如何迁移Django模型?解决迁移历史不一致异常问题

解决Django迁移历史不一致问题(InconsistentMigrationHistory)

问题原因

admin应用的0001_initial迁移依赖自定义accounts应用的0001_initial迁移,但admin的迁移已提前被应用到数据库中,导致迁移执行顺序与依赖关系冲突。

解决方案

方案一:开发环境(数据可重置)

适用于本地开发、数据无保留价值的场景:

  • 备份数据库(可选),若使用SQLite,直接复制db.sqlite3文件即可。
  • 删除数据库文件(如db.sqlite3),或清空数据库内所有表。
  • 进入每个应用的migrations目录,删除除__init__.py之外的所有迁移文件。
  • 重新执行迁移命令:
    python manage.py makemigrations
    python manage.py migrate
    

方案二:生产环境(需保留数据)

适用于线上环境、不能丢失现有数据的场景:

  1. 连接到数据库,找到django_migrations表,删除其中记录为admin应用、0001_initial的行。
  2. 先执行accounts应用的迁移:
    python manage.py migrate accounts
    
  3. 再执行全局迁移,完成剩余应用的迁移:
    python manage.py migrate
    

注意事项

  • 确保accounts应用已添加到settings.py的INSTALLED_APPS列表中。
  • 若为自定义迁移依赖导致的问题,检查accounts应用迁移文件中的dependencies配置,确认依赖关系声明是否正确。

内容的提问来源于stack exchange,提问作者محمدجواد رضایی

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 17:31:15