# Generated by Django 3.1.7 on 2021-04-07 20:00 from django.conf import settings from django.contrib.postgres.indexes import GinIndex from django.contrib.postgres.search import SearchVectorField, SearchVector from django.db import migrations from django_scopes import scopes_disabled from cookbook.models import Recipe def set_default_search_vector(apps, schema_editor): if settings.DATABASES['default']['ENGINE'] not in ['django.db.backends.postgresql_psycopg2', 'django.db.backends.postgresql']: return with scopes_disabled(): search_vector = ( SearchVector('name__unaccent', weight='A') + SearchVector('description__unaccent', weight='B')) Recipe.objects.all().update(search_vector=search_vector) class Migration(migrations.Migration): dependencies = [ ('cookbook', '0121_auto_20210518_1638'), ] operations = [ migrations.AddField( model_name='recipe', name='search_vector', field=SearchVectorField(null=True), ), migrations.AddIndex( model_name='recipe', index=GinIndex(fields=['search_vector'], name='cookbook_re_search__404e46_gin'), ), migrations.RunPython( set_default_search_vector ), ]