Make unique index worked

This commit is contained in:
long2ice 2020-05-19 13:49:00 +08:00
parent f54e701600
commit 12ff10c594
2 changed files with 7 additions and 2 deletions

View File

@ -7,6 +7,7 @@ ChangeLog
0.1.4 0.1.4
----- -----
- Fix transaction and fields import. - Fix transaction and fields import.
- Make unique index worked.
0.1.3 0.1.3
----- -----

View File

@ -246,7 +246,9 @@ class Migrate:
) )
else: else:
old_field = old_fields_map.get(new_key) 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._add_operator(
cls._remove_index( cls._remove_index(
old_model, [old_field.model_field_name], old_field.unique old_model, [old_field.model_field_name], old_field.unique
@ -254,7 +256,9 @@ class Migrate:
upgrade, upgrade,
isinstance(old_field, (ForeignKeyFieldInstance, ManyToManyFieldInstance)), 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_operator(
cls._add_index(new_model, [new_field.model_field_name], new_field.unique), cls._add_index(new_model, [new_field.model_field_name], new_field.unique),
upgrade, upgrade,