Я следую Оптимизация полнотекстового поиска в статье Django, и в какой-то момент статья говорит:
Чтобы добавить триггер, нам нужно создать руководство Django миграция. Это добавит функцию триггера и обновит все наши строки страниц, чтобы обеспечить запуск триггера и заполнение content_search во время миграции для существующих записей.
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('web', '0002_auto_20200115_1401')
]
migration = '''
CREATE TRIGGER content_search_update BEFORE INSERT OR UPDATE
ON web_page FOR EACH ROW EXECUTE FUNCTION
tsvector_update_trigger(content_search, 'pg_catalog.english', content);
-- Force triggers to run and populate the text_search column.
UPDATE web_page set ID = ID;
'''
reverse_migration = '''
DROP TRIGGER content_search ON web_page;
'''
operations = [migrations.RunSQL(migration, reverse_migration)]
при запуске миграции я получаю эта ошибка:
django .db.utils.ProgrammingError: синтаксическая ошибка в или около "FUNCTION"
Одно отличие моего settings.py
от учебной статьи в том, что он использует django.db.backends.postgresql
в качестве движка базы данных, а я использую django.db.backends.postgresql_psycopg2
В чем здесь проблема и, что более важно, как я могу решить эту проблему? Заранее спасибо.