删除尚未迁移的迁移
Posted
技术标签:
【中文标题】删除尚未迁移的迁移【英文标题】: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
【参考方案1】:
只需从 migrations/ 文件夹中删除 0005-0008 迁移文件。 回覆。数据库表,如果未应用迁移,则无需从那里删除任何内容。您可以检查自己的 django_migrations 表条目以确定。
【讨论】:
以上是关于删除尚未迁移的迁移的主要内容,如果未能解决你的问题,请参考以下文章