Тест Django для использования расширения Postgres без миграции

У меня есть существующий проект, в котором я хочу начать внедрять шаг тестирования. В истории было довольно много миграций данных, и я не хочу тратить усилия на их выполнение в тестовой настройке. Поэтому я отключил 'migrations':

DATABASES['default']['TEST'] = {
    'MIGRATE': False,
}

Однако эта БД Postgres использует некоторые расширения

    class Meta:
        verbose_name = 'PriceBook Cache'
        verbose_name_plural = 'PriceBook Caches'
        indexes = [
            GinIndex(
                name="pricebookcache_gin_trgm_idx",
                fields=['itemid', 'itemdescription', 'manufacturerpartnumber', 'vendor_id'],
                opclasses=['gin_trgm_ops', 'gin_trgm_ops', 'gin_trgm_ops', 'gin_trgm_ops']
            ),
        ]

В результате чего при запуске теста возникает ошибка psycopg2.errors.UndefinedObject: operator class "gin_trgm_ops" does not exist for access method "gin"

Я посмотрел здесь https://docs.djangoproject.com/en/4.1/ref/databases/#migration-operation-for-adding-extensions, где конкретно сказано, что это делается через миграцию, но я ее отключил.

Альтернативой является использование template db, но я не очень хочу этого делать, так как это будет выполняться автоматически в gitlab с помощью контейнера docker, и я не хочу поддерживать еще одно приспособление вне репо проекта.

Так есть ли способ инициализировать базу данных без запуска миграций или возможно ли заставить ее запустить совершенно другую миграцию только для теста?

Вернуться на верх