django-重新运行迁移,这会创建约束并且中途失败

问题描述 投票:0回答:1

我有一个迁移,添加了很多unique_together约束。当我执行它时,它会中途失败,因为某些表不遵守此约束。因此,我必须修复数据,然后再次运行迁移。

问题是,当我尝试再次运行它时,它抱怨说约束已经存在

django.db.utils.IntegrityError: (1062, "Duplicate entry '406-14933' for key 'app_model_language_id_category_id_29dac763_uniq'") 

这发生在上一次运行没有问题的表中,因此创建了约束。然后,我必须手动删除约束,然后才能再次运行它。

是否有办法让它忽略此错误并继续?

django django-migrations
1个回答
0
投票

我不确定您是否可以绕过此检查,所以解决此问题的方法不是创建一个迁移,该迁移会创建很多约束并且可能会中途失败,而创建的迁移每个迁移都只有一个约束。然后,如果一个表正确,则创建约束,您可以转到下一个,再也不要回到该表。

© www.soinside.com 2019 - 2024. All rights reserved.