From 2d26c5bf6dc30b6ec00d8786105e3ba2af61ce05 Mon Sep 17 00:00:00 2001 From: Adrien P Date: Fri, 8 Aug 2025 10:31:45 +0200 Subject: [PATCH 1/3] Revert "Try to fix outdated migration" This reverts commit 130fffb4e4aa3b435ef398bb8643e123415db57e. --- ..._user_email_is_active_core_user_email_c0c03f_idx.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 4bc878339..a001c7257 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 @@ -9,9 +9,9 @@ class Migration(migrations.Migration): ] operations = [ - # migrations.RenameIndex( - # model_name="user", - # new_name="core_user_email_c0c03f_idx", - # old_fields=("email", "is_active"), - # ), + migrations.RenameIndex( + model_name="user", + new_name="core_user_email_c0c03f_idx", + old_fields=("email", "is_active"), + ), ] From 2701ec0c29b2540f9041c19ca798e88806642212 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Mon, 8 Sep 2025 15:55:17 +0200 Subject: [PATCH 2/3] 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"), From f1708781da77acd53f1f74fe69df400d72a1cada Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Mon, 8 Sep 2025 16:04:35 +0200 Subject: [PATCH 3/3] Fixed syntax error --- ...25_rename_user_email_is_active_core_user_email_c0c03f_idx.py | 2 +- 1 file changed, 1 insertion(+), 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 bec95fa01..ba76080f5 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 @@ -18,7 +18,7 @@ class RenameIndexIfExists(migrations.RenameIndex): ) if len(matching_index_name) != 1: return - super.database_forwards(app_label, schema_editor, from_state, to_state) + super().database_forwards(app_label, schema_editor, from_state, to_state) class Migration(migrations.Migration):