Có vẻ như vùng chứa thử nghiệm với cơ sở dữ liệu đã khởi động thành công, vì vậy không có vấn đề gì ở đó, bạn đang nhận được một cơ sở dữ liệu trống.
Sau đó, bạn thử chạy flyway và điều này không thành công. Flyway trong khởi động mùa xuân hoạt động trong quá trình khởi tạo ngữ cảnh ứng dụng mùa xuân, do đó quá trình di chuyển thực sự chạy trong khi ngữ cảnh ứng dụng được khởi tạo, do đó, lỗi di chuyển giống như lỗi mùa xuân.
Tuy nhiên, lý do được ghi lại là:tệp di chuyển có nội dung không hợp lệ:
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
không được hỗ trợ.
Tại sao? Có thể hình ảnh docker của bạn bao gồm phiên bản RDBMS không hỗ trợ cú pháp này. Vì vậy, nó khác với DB mà bạn sử dụng trong môi trường cục bộ không có docker.
Trong mọi trường hợp, đó không phải là về docker, spring hay flyway mà là về DB và mã di chuyển.
Về độ phân giải, tôi khuyên bạn nên chạy trực tiếp hình ảnh docker của DB (không có java, testcontainers và flyway). Khi nó chạy, chỉ cần chạy quá trình di chuyển này "thủ công" trong pgadmin hoặc thứ gì đó. Bạn có thể gặp lỗi tương tự.