我进行了迁移,并意识到我犯了一个错误(通过添加默认值),然后我进行了一次新的迁移,允许 null 。
我不希望我的同事运行第一次迁移,这会为数千条记录添加 默认 值。如何在不破坏当前迁移的情况下删除该迁移(通常,如果您只是删除迁移,则会出现一堆很难修复的错误)。
我假设您可以使用命令?我认为它是这样的〜>
例如django manage.py deletemigration <migration_id>
答案 0 :(得分:4)
您可以执行./manage.py squashmigrations,因为您的某个迁移有效地取消了另一个迁移,最终结果将是可以为空的字段。您的同事不必完成添加默认值的步骤。
压缩是减少现有许多迁移的行为 到一个(或有时几个)迁移,仍然代表了 同样的变化。
您可以手动编辑迁移文件以删除对列的更改。迁移实际上可以进行空迁移
class Migration(migrations.Migration):
dependencies = [
(some stuff here),
]
operations = []