Тестирование интеграции Postgis Spring Boot с оператором на основе индекса

#spring-boot #spring-data-jpa #h2 #postgis #spring-boot-test

#spring-boot #spring-data-jpa #h2 #postgis #spring-boot-test

Вопрос:

В настоящее время я пишу интеграционный тест с spring boot и подключением к Post gis. В моем исходном приложении запрос использует оператор <-> . Для своих тестов я использовал базу данных h2 в памяти с расширением h2gis. К сожалению, <-> не распознается и выдает синтаксическую ошибку. Есть ли у вас какие-либо идеи, как это сделать с базой данных в памяти или есть только возможность запустить контейнер docker с правильной запущенной базой данных postgis?

Спасибо!

Комментарии:

1. PostgreSQL (и, возможно, его форки) имеет огромное количество нестандартных операторов, недоступных в других СУБД. Если они вам нужны, вы можете использовать только сам PostgreSQL.

Ответ №1:

Даже если там, где это возможно, можно запустить базу данных, достаточно похожую на Postgres, я бы не рекомендовал этого делать.

Теперь у нас есть Testcontainers, и поэтому мы можем легко запустить любую * базу данных в контейнере docker из наших тестов. Это предпочтительнее, потому что вы используете фактическую базу данных, которую вы также увидите в рабочей среде.

any*: Некоторые коммерческие варианты либо огромны, либо требуют много времени для запуска, но Postgres отлично работает.