Изглежда, че тестовият контейнер с базата данни е стартирал успешно, така че няма проблем, получавате празна база данни.
След това се опитвате да стартирате flyway и това е неуспешно. Flyway при пружинно зареждане работи по време на инициализацията на контекста на приложението Spring, така че действителната миграция се изпълнява, докато контекстът на приложението се инициализира, така че неуспехът на миграцията изглежда като отказ на пружината.
Причината обаче е регистрирана:файлът за миграция има невалидно съдържание:
Migration V1__initial_user.sql failed
-------------------------------------
SQL State : 42601
Error Code : 0
Message : ERROR: syntax error at or near "GENERATED"
Position: 45
Location : db/migration/V1__initial_user.sql (/Users/villemossip/Desktop/GRP/GRP-
SAS/application/build/resources/main/db/migration/V1__initial_user.sql)
Line : 36
Statement : CREATE TABLE revinfo
(
rev INTEGER GENERATED BY DEFAULT AS IDENTITY ( START WITH 1 ),
revtstmp BIGINT,
PRIMARY KEY (rev)
)
Това GENERATED BY
не се поддържа.
Защо? Вероятно вашето докер изображение включва версията на RDBMS, която не поддържа този синтаксис. Така че се различава от базата данни, която използвате в локална среда без докер.
Във всеки случай не става въпрос за docker, spring или flyway, а за DB и кода за миграция.
По отношение на разделителната способност, предлагам да стартирате докер изображението на DB директно (без java, тестконтейнери и flyway). Когато се изпълнява, просто стартирайте тази миграция "ръчно" в pgadmin или нещо подобно. Очаква се да видите същата грешка.