Интеграционные тесты на H2 зелёные, а запрос падает на PostgreSQL в проде
Репозиторий использует нативный запрос с ON CONFLICT (email) DO UPDATE и оператором ->> для поля jsonb. Интеграционные тесты гоняются на встроенной H2 в режиме совместимости с PostgreSQL. Часть таких запросов в тестах заменили моками, остальные проходят, а в проде один из запросов падает с синтаксической ошибкой.
Как устроить тесты надёжнее?
- Гонять интеграционные тесты на настоящем PostgreSQL через Testcontainers
- Включить в H2 более строгий режим совместимости
- Переписать запросы так, чтобы они работали и в H2, и в PostgreSQL
- Проверять такие запросы вручную на стенде перед релизом
