Próbuję wykonać migrację Flywaya na wielu (6 lub mniej) wystąpieniach naszego serwera. Każdy z nich jest budowany i wdrażany automatycznie z Git przy użyciu Bamboo, więc bardzo chciałbym móc użyć celu Maven flyway:migrate
, aby każdy serwer migrował się, gdy jest on już wdrożony.Zainicjowanie Flywaya Mavena przed migracją
Jednak teraz próbuję teraz Flywaya, więc żadna z istniejących baz danych nie była init
'd. Zastanawiam się, czy mogę w jakiś sposób określić w Maven, że Flyway powinien init
, jeśli jeszcze nie, a następnie migrate
za każdym razem?
migrate docs sugerują, że „Flyway stworzy tabelę metadanych automatycznie, jeśli nie istnieje”, ale w rzeczywistości, gdy celem flyway:migrate
jest wykonywany, pojawia się błąd:
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]
Dzięki za wskazanie tego. Teraz rozszerzyłem komunikat o wyjątku do tego "Użyj init() lub ustaw initOnMigrate na true, aby zainicjować tabelę metadanych." –