gpt4 book ai didi

Django 迁移依赖顺序

转载 作者:行者123 更新时间:2023-12-03 04:41:18 25 4
gpt4 key购买 nike

我有一组相对复杂的 Django 模型。我尝试从一组新的迁移开始(rm -rf apps/*/migrations; bin/dev/manage.py makemigrations A B C...)。 makemigrations 工作正常,并且不存在循环依赖关系,但我在迁移时始终遇到 InconsistentMigrationHistory 异常。下面是迁移之间的依赖关系图,经过简化以删除没有相关依赖关系的迁移,并编辑了应用程序名称以提高可读性: Migration dependencies 红色链接会导致错误(每次运行 migrate 时都会出现不同的错误),即使在每个迁移中添加了 run_before 且应在其依赖项之前运行:

A/migrations/0002_whatever.py:

...
run_before = [('P', '0001_initial'),]

这是错误文本。

django.db.migrations.exceptions.InconsistentMigrationHistory: Migration `P.migrations.0001_initial` is applied before its dependency `A.migrations.0002_whatever` on database 'default'.

有什么想法吗?

最佳答案

您还需要重置数据库。

当您创建新的迁移而不重置数据库时,数据库和迁移之间的同步会丢失。

因此,当您尝试迁移新的迁移时,Django 会发现它不一致并失败。

出于同样的原因,清除所有迁移并生成新迁移通常不是一个好主意。

想象一下在生产中发生这种情况。

关于Django 迁移依赖顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49697344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com