【问题标题】:Delete migrations that haven't been migrated yet删除尚未迁移的迁移
【发布时间】:2016-04-02 19:49:01
【问题描述】:

我设置了一个我现在意识到是错误的键。它设置为迁移 0005。我所做的最后一次迁移是 0004。我现在到了 0008。我想用当前的 models.py 针对当前的数据库模式重建迁移。迁移 0005 不再相关,已从 models.py 中删除。迁移0005也是一个IntegrityError,所以不删除不应该删除的数据就无法应用。

如何通过迁移 0005 以便可以迁移?

【问题讨论】:

  • 如果0005还没有应用,难道不能删除migrations 0005-0008,然后再运行makemigrations吗?
  • @schwobaseggl 是的,我该怎么做?
  • 您从migrations 文件夹中删除了实际文件。如果已经应用了超过 0004 的任何迁移,您可以通过运行 migrate <appname> 0004 尝试取消应用它们。但是,这可能会或可能不会起作用,具体取决于这些迁移的性质。
  • @schwobaseggl 我需要从迁移表中删除任何内容吗?
  • 寻找squashmigrations

标签: python django django-migrations django-1.9


【解决方案1】:

只需从 migrations/ 文件夹中删除 0005-0008 迁移文件。 回覆。数据库表,如果未应用迁移,则无需从那里删除任何内容。您可以检查自己的 django_migrations 表条目以确定。

【讨论】:

    猜你喜欢
    • 2021-06-09
    • 1970-01-01
    • 2015-09-13
    • 2017-09-03
    • 2017-01-29
    • 2018-01-30
    • 2015-10-07
    • 2014-02-03
    • 1970-01-01
    相关资源
    最近更新 更多