Flyway очень неудобен после ликвибейза. Ликвик сам разруливает большинство различий в sql синтаксисе разных баз, во flyway пришлось задублировать скрипты для h2 (test) и mysql (real).
Мы ушли от использования h2, потому что sql сложнее круда часто испытывал проблемы при работе на h2. Пример валидный, но для моих проектов лишен смысла. Все равно поднимаем контейнер с настоящей базой и тестируем с ней - так правильнее в конечном счете. Если только цель не писать универсальные запросы которые будут работать везде.