# Generated by Django 3.2.16 on 2022-12-21 11:16 import logging from django.db import migrations from core.redis import start_job_async_or_sync from core.utils.common import btree_gin_migration_operations logger = logging.getLogger(__name__) def async_index_creation(db_alias): from django.db import connections with connections[db_alias].schema_editor(atomic=False) as schema_editor: schema_editor.execute('create index concurrently if not exists tasks_annotations_result_proj_gin ' 'on task_completion using gin (project_id, cast(result as text) gin_trgm_ops);' ) def forwards(apps, schema_editor): if not schema_editor.connection.vendor.startswith('postgres'): logger.info('Database vendor: {}'.format(schema_editor.connection.vendor)) logger.info('Skipping dropping tasks_annotations_result_idx index') return schema_editor.execute('drop index if exists tasks_annotations_result_idx;') schema_editor.execute('drop index if exists tasks_annotations_result_idx2;') db_alias = schema_editor.connection.alias start_job_async_or_sync(async_index_creation, db_alias=db_alias) def backwards(apps, schema_editor): pass class Migration(migrations.Migration): atomic = False dependencies = [('tasks', '0034_auto_20221221_1101')] operations = btree_gin_migration_operations(migrations.RunPython(forwards, backwards))