From 12ff10c59454e4bff255521efc28ebcdcc4fb61a Mon Sep 17 00:00:00 2001 From: long2ice Date: Tue, 19 May 2020 13:49:00 +0800 Subject: [PATCH] Make unique index worked --- CHANGELOG.rst | 1 + aerich/migrate.py | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index ae82413..acf3717 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -7,6 +7,7 @@ ChangeLog 0.1.4 ----- - Fix transaction and fields import. +- Make unique index worked. 0.1.3 ----- diff --git a/aerich/migrate.py b/aerich/migrate.py index bb90d10..e54f927 100644 --- a/aerich/migrate.py +++ b/aerich/migrate.py @@ -246,7 +246,9 @@ class Migrate: ) else: old_field = old_fields_map.get(new_key) - if old_field.index and not new_field.index: + if (old_field.index and not new_field.index) or ( + old_field.unique and not new_field.unique + ): cls._add_operator( cls._remove_index( old_model, [old_field.model_field_name], old_field.unique @@ -254,7 +256,9 @@ class Migrate: upgrade, isinstance(old_field, (ForeignKeyFieldInstance, ManyToManyFieldInstance)), ) - elif new_field.index and not old_field.index: + elif (new_field.index and not old_field.index) or ( + new_field.unique and not old_field.unique + ): cls._add_operator( cls._add_index(new_model, [new_field.model_field_name], new_field.unique), upgrade,