Я использую Flyway Community Edition 5.1.4 и пытаюсь выполнить миграции из двух разных каталогов с помощью maven. Я создал пример проекта, который можно скачать с этот репозиторий github.
Я создал 2 сценария миграции пролетного пути: 1-й в src/main/resources/dir1 и 2-й в src/main/resources/dir2. flyway.conf помещается в корневой каталог проекта.
Дело 1:
Команда запуска: mvn flyway:info
Вывод: миграций не найдено (Снимок экрана 1)
Это нормально, потому что скриптов миграции нет в стандартном каталоге src/main/resources/db/migration.
Случай 2:
Команда запуска: mvn flyway:info -Dflyway.configFiles=/flyway.conf
Вывод: найдены оба сценария миграции (Снимок экрана 2)
В случае 2 файл конфигурации пролетного пути явно указан в команде maven для загрузки сценариев миграции из обоих каталогов classpath:/dir1 и classpath:/dir2. Однако пролетный путь может загружать flyway.conf сам по себе. Файл конфигурации должен находиться в каталоге <userhome>. Поэтому, если я помещаю тот же файл flyway.conf в каталог своего домашнего пользователя, файл загружается (я могу увидеть это, если я запускаю команду maven с переключателем -X), но flyway не находит сценарии миграции.
Случай 3:
Команда запуска: mvn flyway:info -X
Вывод: миграций не найдено (Дело Screehshot 3), хотя загружен тот же файл конфигурации. Видно в выводе maven: [DEBUG] Loading config file: C:\Users\username\flyway.conf
Это происходит только со свойством flyway.locations. Другие свойства, такие как flyway.url=, flyway.user и т. д., Работают нормально даже в случае 3.
Возникает вопрос, почему свойство flyway.locations не действует, если файл flyway.conf загружается с userdirectory самим пролетным путем?
Я отредактировал исходный пост и добавил более подробное описание. Надеюсь, теперь проблема прояснилась.





Не могли бы вы более конкретно рассказать о том, чего вы пытаетесь достичь? Не могли бы вы добавить образец того, что вы пробовали до сих пор?