diff --git a/api/funkwhale_api/common/migrations/0001_initial.py b/api/funkwhale_api/common/migrations/0001_initial.py index a362855b8c2bb44983128d99aa211a1268f1d7dd..2460f74bade6df6b3be5bbf7f28bab818fbf0831 100644 --- a/api/funkwhale_api/common/migrations/0001_initial.py +++ b/api/funkwhale_api/common/migrations/0001_initial.py @@ -3,8 +3,20 @@ from django.db import migrations from django.contrib.postgres.operations import UnaccentExtension +class CustomUnaccentExtension(UnaccentExtension): + def database_forwards(self, app_label, schema_editor, from_state, to_state): + check_sql = "SELECT 1 FROM pg_extension WHERE extname = 'unaccent'" + with schema_editor.connection.cursor() as cursor: + cursor.execute(check_sql) + result = cursor.fetchall() + + if result: + return + return super().database_forwards(app_label, schema_editor, from_state, to_state) + + class Migration(migrations.Migration): dependencies = [] - operations = [UnaccentExtension()] + operations = [CustomUnaccentExtension()] diff --git a/changes/changelog.d/663.bugfix b/changes/changelog.d/663.bugfix new file mode 100644 index 0000000000000000000000000000000000000000..fb88800b84f53d71fb3f4ac557818eb2831840fa --- /dev/null +++ b/changes/changelog.d/663.bugfix @@ -0,0 +1 @@ +Do not try to create unaccent extension if it's already present (#663)