Tôi đang cố gắng thực hiện di chuyển Flyway trên nhiều phiên bản (6 hoặc hơn) của máy chủ của chúng tôi. Mỗi cái được xây dựng và triển khai tự động từ Git bằng cách sử dụng Bamboo, vì vậy tôi thực sự muốn có thể sử dụng mục tiêu Maven flyway:migrate
để mỗi máy chủ di chuyển chính nó khi nó được triển khai tiếp theo.Đường bay Maven init trước khi di chuyển
Tuy nhiên, tôi chỉ đang dùng thử Flyway ngay bây giờ, vì vậy không có DB nào hiện có là init
'd. Tôi tự hỏi là nó có thể cho tôi bằng cách nào đó xác định trong Maven rằng Flyway nên init
nếu nó chưa có, và sau đó migrate
mỗi lần?
Các migrate docs gợi ý rằng "bay theo trục sẽ tạo ra bảng siêu dữ liệu tự động nếu nó không tồn tại", nhưng trên thực tế khi mục tiêu flyway:migrate
được thực thi, tôi nhận được thông báo lỗi:
Failed to execute goal com.googlecode.flyway:flyway-maven-plugin:2.2:migrate (default) on project mutopia-server: Flyway Error: com.googlecode.flyway.core.api.FlywayException: Found non-empty schema "public" without metadata table! Use init() first to initialize the metadata table. -> [Help 1]
Cảm ơn bạn đã chỉ ra điều này. Bây giờ tôi đã mở rộng thông báo Ngoại lệ cho điều này "Sử dụng init() hoặc đặt initOnMigrate thành true để khởi tạo bảng siêu dữ liệu." –