没有迁移的应用程序不得与有迁移的应用程序有关系。为什么?

问题描述 投票:0回答:1

django 文档中有一段模糊的段落

没有迁移的应用程序不得有关系(ForeignKey、 ManyToManyField 等)到具有迁移的应用程序。有时可能会起作用, 但不支持。

我有5年的经验,从来没有遇到过这些情况的问题。在什么情况下与“具有迁移的应用程序”相关是危险的?

django database-migration
1个回答
0
投票
文档中关于多个应用程序的警告,其中一些应用程序未通过 djangos 迁移系统进行管理,其根源在于架构管理和一致性的潜在问题。

假设我们有 2 个应用程序:

  • 无需迁移:此应用程序通过手动模式或遗留方法管理其模型。
  • 使用迁移:此应用程序由 django 通过应用于数据库的迁移来管理和跟踪
任一应用程序中的任何架构更改都不会正确反映在另一个应用程序中,从而导致架构最终不同步。您还缺乏适当的依赖关系管理,这可能会导致迁移以错误的顺序运行。

一般来说,不建议以不同的方式管理多个应用程序。最终,这会导致问题。

我根据我对 django 和迁移的理解写了这篇文章。不要将此视为事实。我只是不喜欢您收到的第一条评论。

© www.soinside.com 2019 - 2024. All rights reserved.