【问题标题】:InconsistentMigrationHistory - Migration .. is applied before its dependencyInconsistentMigrationHistory - 迁移 .. 在其依赖项之前应用
【发布时间】:2018-10-06 18:43:14
【问题描述】:

我有 2 个相互依赖的模型:

class Account(models.Model):
    created_by = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True,related_name='%(app_label)s_%  (class)s_created_by', on_delete=models.CASCADE)
    updated_by = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True, related_name='%(app_label)s_%(class)s_updated_by', on_delete=models.CASCADE)


class User(AbstractBaseUser, MetaData, PermissionsMixin):
    account = models.ForeignKey(Account, blank=True, null=True, related_name='owner', on_delete=models.CASCADE)

我有问题:

InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001_initial on database 'default'.

我试图从用户中删除帐户外键,迁移用户,然后迁移帐户,帐户 FK 失败,同样的错误。

我尝试从失败的帐户开始执行此操作,将 FK 删除给用户。

我有兴趣在新数据库(服务器)上执行此操作并在本地旧数据库上重置。

在旧数据库上,我从django_migrations 中删除了我的模型,并注释了模型和关联外键之间的依赖关系。尝试了假迁移,仍然看到依赖项,我不明白从哪里开始。

【问题讨论】:

  • 你创建了一个新的数据库吗?
  • 我有 2 分贝;一个本地是旧的(我想重置迁移 - 许多操作),一个新的我想在暂存区传输数据
  • 本地出现问题了?
  • 如果生成一个新的db不会影响你的项目,当你删除db时,一定要删除每个app的所有migrations文件
  • 能否尝试先运行users.0001_initial迁移,然后运行所有迁移?

标签: django django-migrations


【解决方案1】:

我解决了这个问题,它与Account没有直接关系,而是Django Admin迁移,因为我使用了自定义用户,在django_migrations,用户在admin之后迁移,我不得不换行。

【讨论】:

  • 你指的是哪几行?
  • 不丢失数据的真正解决方案是什么?
猜你喜欢
  • 2020-05-10
  • 2018-12-07
  • 2016-12-24
  • 2020-06-22
  • 2021-08-24
  • 2021-08-11
  • 2021-04-21
  • 2014-10-31
  • 2021-04-10
相关资源
最近更新 更多