gpt4 book ai didi

django - 删除 Django 应用程序的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-01 23:43:23 25 4
gpt4 key购买 nike

我正在清理一个旧项目。该项目已升级到 Django 1.8。该项目有几个根本不再需要的应用程序。我想删除这些应用程序。

问题是您无法通过迁移删除应用程序,因为其他应用程序的迁移可能依赖于它们。例如...应用程序car可以删除,但应用中的模型usercar 中有一个模型的外键.如果我删除 car app 然后我会在完整迁移运行时收到错误。 user 中的迁移取决于 car 中的迁移(创建 Car 模型的迁移)它将失败。

我可以回去编辑 user迁移以删除 car 的所有实例,就好像它从未存在过一样。但随后我无法进行删除 car 的迁移。属性(property)在 User ,因此该列将仅保留在数据库表中(即使不再使用)。

我应该如何删除这个应用程序而不会使我的迁移中断并留下旧列?

最佳答案

在我看来你需要 squash你的迁移。这是您可以做什么的概述(仅就迁移而言):

  • 添加删除 user 依赖项的迁移在 car .
  • 压制 user 的迁移应用程序。
  • 看看新的压缩迁移——如果它优化了外键到 car离开,这是完美的,否则,手动从压缩的迁移历史中删除外键。
  • 发布两个新迁移(删除外键的迁移以及压缩的迁移)。
  • 在所有部署都升级后(或经过合理的弃用周期后),删除原始的迁移链,只留下被压扁的迁移链。
  • 关于django - 删除 Django 应用程序的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30264152/

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