Я использую базу данных Postgres в производстве, поэтому я хочу использовать H2 в режиме совместимости Postgres при запуске тестов, чтобы убедиться, что она ведет себя аналогичным образом. Проблема в том, что Liquibase, похоже, предполагает, что он будет работать в собственном режиме, и поэтому генерирует типы данных в стиле H2 для своих изменений.
Итак, в основном я настраиваю H2 с URL-адресом JDB C, например this:
jdbc:h2:mem:~/mydb;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=TRUE;MVCC=true;
Но проблема в том, что Liquibase по-прежнему генерирует операторы создания таблиц, используя «NUMBER» в качестве типа данных, а не «NUMERI C», который H2 ожидает в режиме PostgreSQL. Если я уберу "MODE = PostgreSQL" из URL, он будет работать нормально, но тогда я не получу поведение Postgres в своих модульных тестах.
Итак, есть ли способ заставить Liquibase определить базу данных как Postgres или принудительно сделать это при использовании базы данных H2?