我正在构建一个使用Flyway(至少当前)的基于SPI的Spring Boot Web应用程序。我无法想象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将在启动时使用ServiceLoader进程加载到project-web。
这是问题所在:我希望Project-Web能够使用Flyway来管理数据库逻辑,例如添加用户表等。project-spi-impl 也需要管理数据库表,因此我想继续使用飞行路线技师。据我了解,project-spi-impl和project-web必须在其版本控制上保持同步,以使飞行路线愉快。例如
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
这可能吗?