如何使用Spring Boot手动启动flyway?因为我的应用程序中有2个dbs,所以在Springboot加载属性之后,在连接到DB之前,我需要从我的2 dbs运行flyway。
答案 0 :(得分:0)
您可以使用flyway maven插件填充数据库。
您可以为每个数据库提供两个属性文件,并使用mvn -Dflyway.configFile=myConfig.properties
或者
您可以在执行maven时提供数据库属性,例如mvn -Dflyway.user=myUser -Dflyway.schemas=schema1,schema2 -Dflyway.placeholders.keyABC=valueXYZ
但请注意,您必须执行两次flyway maven任务。每次为一个数据库。喜欢,
$mvn -Dflyway.configFile=db1.properties compile migrate
$mvn -Dflyway.configFile=db2.properties compile migrate
有关详细信息,请参阅https://flywaydb.org/documentation/maven/。
如果你对这种maven方法没问题,你就不需要弹簧去做飞路迁移。
答案 1 :(得分:0)
如果我理解正确,您不想手动启动flyway,而是在两个数据库上运行它。方法如下:
创建两个Datasources并将其中一个标记为@Primary,另一个(应该是一个bean)标记为@FlywayDataSource。 当flyway运行时,它将自动在两个数据源上运行。见https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-execute-flyway-database-migrations-on-startup