Управление миграциями Flyway для архитектуры SPI - PullRequest
0 голосов
/ 24 сентября 2019

Я создаю веб-приложение Spring Boot на основе SPI, которое использует Flyway (в настоящее время по крайней мере).У меня возникают проблемы с визуализацией того, как реализации SPI смогут управлять своими собственными таблицами с помощью миграций flyway.

Упрощенная архитектура выглядит следующим образом:

project-parent
|-project-core (with SPI interface)
|-project-web (loads SPIs via ServiceLoader)

project-spi-impl (depends on project-core)

project-spi-impl будетзагружается в Project-Web при запуске с использованием процесса ServiceLoader.

Вот проблема: я хотел бы, чтобы Project-Web мог использовать Flyway для управления логикой базы данных, такой как добавление таблицы пользователей и т. д. project-spi-impl также необходимо управлять таблицами базы данных, поэтому я хотел бы продолжить использовать механику прохода.Насколько я понимаю, project-spi-impl и project-web должны быть в шаге от своих версий, чтобы сделать flyway счастливым.Например,

project-web
\V001_UsersTable.sql
\V002_RolesTable.sql
\V004_DataTable.sql

project-spi-impl
\V003_SpiTable.sql

Я бы хотел обучить пролетный путь, чтобы выполнить миграцию отдельно для каждого spi, чтобы разрешить этот порядок:

project-web
\V001_UsersTable.sql
\V002_RolesTable.sql
\V003_DataTable.sql

project-spi-impl
\V001_SpiTable.sql

Возможно ли это?

...