我有一个使用外部应用程序参考的django应用程序。我们不再需要此应用程序引用,因此我们希望删除依赖项。我能够生成迁移以删除我们正在删除的应用程序中的模型的外键,但我无法删除应用程序中的需求引用,因为它在早期迁移中被引用。
有没有人有一个已知的解决方案来删除这样的应用程序要求?
提供一个示例,假设我有一个具有以下模型的外部应用程序:
class ExternalInfo(models.Model):
random_field = CharField()
在您的项目申请中,您有一个客户记录:
class Customer(models.Model):
name = CharField()
external_info = ForegnKey(external_app.ExternalInfo, null=True)
迁移应用程序0001在外部应用程序中创建模型的外键。经过10个月,之后10次迁移,您需要从客户模型中删除external_info,并且您希望从项目中删除external_app。如何在不破坏旧版迁移的情况下删除此依赖项?
答案 0 :(得分:0)
好的,所以我的解决方法是按顺序执行以下步骤:
遵循这些步骤,升级现有数据库和从头开始构建都会导致相同的数据库架构。 (不包括我现在需要找到摆脱应用程序创建的表的方法,任何人都有关于最佳方法的想法?我正在考虑编写一个迁移.RunSql删除表,但它们不会存在在新创建的数据库中)