【问题标题】:How can I remove a Django migration file?如何删除 Django 迁移文件?
【发布时间】:2016-12-16 05:17:48
【问题描述】:

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

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

我假设您可以使用命令?我猜应该是这样的~>

例如django manage.py deletemigration <migration_id>

【问题讨论】:

    标签: django django-migrations


    【解决方案1】:

    壁球

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

    压缩是减少现有的许多迁移集合的行为 减少到一个(或有时几个)迁移,它们仍然代表着 相同的变化。

    编辑迁移文件

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

    class Migration(migrations.Migration):
    
        dependencies = [
            (some stuff here),
        ]
    
        operations = []
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-13
      • 2020-07-30
      • 2018-12-15
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      • 2013-10-10
      相关资源
      最近更新 更多