gpt4 book ai didi

python - Django 压缩迁移 : NodeNotFoundError

转载 作者:太空狗 更新时间:2023-10-29 21:59:27 27 4
gpt4 key购买 nike

运行 Django 1.8.9。

我刚刚压缩了 3 个应用程序的迁移并进行了部署。当 ./manage.py migrate 运行时,我得到了这个:

django.db.migrations.graph.NodeNotFoundError: Migration app2.0001_squashed_0019 dependencies reference nonexistent parent node (u'app1', u'0001_squashed_0028')

app1.0001_squashed_0028 存在于磁盘上,迁移也被替换了。 Django 迁移系统应该具有向前迁移所需的所有信息。

我能够通过以下方式解决此问题:

  1. 将依赖于 app1.0001_squashed_0028 的 2 个新压缩迁移重命名为 *.bak
  2. 运行迁移,
  3. 然后重命名 *.bak 文件,
  4. 并重新运行迁移。

迁移在本地和暂存中运行良好,所以我猜测发生这种情况的原因是因为生产尚未与预压缩的迁移保持同步。

我发现了几个与压缩相关的问题单,但我不确定它们中的任何一个都是针对同一个错误的。有人知道这是否是一个已知问题吗?我是不是做错了什么/是否有更好的方法来防止这种情况发生?

最佳答案

您对错误消息表示困惑,因为:

app1.0001_squashed_0028 was present on disk though, as were the migrations being replaced. The Django migration system should have had all the information it needed to migrate forwards.

不过,您是否在磁盘上看到文件并不确定。要找出 Django 知道项目的哪些迁移,请使用 management command showmigrations .

如果您期望的迁移甚至没有列出,那么这就是为什么 Django 声称找不到迁移的原因。

关于python - Django 压缩迁移 : NodeNotFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35741952/

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