From 2701ec0c29b2540f9041c19ca798e88806642212 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Mon, 8 Sep 2025 15:55:17 +0200 Subject: [PATCH] Fixed migration --- ...il_is_active_core_user_email_c0c03f_idx.py | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/modoboa/core/migrations/0025_rename_user_email_is_active_core_user_email_c0c03f_idx.py b/modoboa/core/migrations/0025_rename_user_email_is_active_core_user_email_c0c03f_idx.py index a001c7257..bec95fa01 100644 --- a/modoboa/core/migrations/0025_rename_user_email_is_active_core_user_email_c0c03f_idx.py +++ b/modoboa/core/migrations/0025_rename_user_email_is_active_core_user_email_c0c03f_idx.py @@ -3,13 +3,31 @@ from django.db import migrations +class RenameIndexIfExists(migrations.RenameIndex): + + def database_forwards(self, app_label, schema_editor, from_state, to_state): + from_model = from_state.apps.get_model(app_label, self.model_name) + columns = [ + from_model._meta.get_field(field).column for field in ["email", "is_active"] + ] + matching_index_name = schema_editor._constraint_names( + from_model, + column_names=columns, + index=True, + unique=False, + ) + if len(matching_index_name) != 1: + return + super.database_forwards(app_label, schema_editor, from_state, to_state) + + class Migration(migrations.Migration): dependencies = [ ("core", "0024_alter_user_language"), ] operations = [ - migrations.RenameIndex( + RenameIndexIfExists( model_name="user", new_name="core_user_email_c0c03f_idx", old_fields=("email", "is_active"),