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,