如何删除Django迁移文件?

时间:2016-08-10 01:40:06

标签: django django-migrations

我进行了迁移,并意识到我犯了一个错误(通过添加默认值),然后我进行了一次新的迁移,允许 null

我不希望我的同事运行第一次迁移,这会为数千条记录添加 默认 值。如何在不破坏当前迁移的情况下删除该迁移(通常,如果您只是删除迁移,则会出现一堆很难修复的错误)。

我假设您可以使用命令?我认为它是这样的〜>

例如django manage.py deletemigration <migration_id>

1 个答案:

答案 0 :(得分:4)

壁球

您可以执行./manage.py squashmigrations,因为您的某个迁移有效地取消了另一个迁移,最终结果将是可以为空的字段。您的同事不必完成添加默认值的步骤。

  

压缩是减少现有许多迁移的行为   到一个(或有时几个)迁移,仍然代表了   同样的变化。

编辑迁移文件

您可以手动编辑迁移文件以删除对列的更改。迁移实际上可以进行空迁移

class Migration(migrations.Migration):

    dependencies = [
        (some stuff here),
    ]

    operations = []