我该如何在Spring Boot中手动启动Flyway?因为我的应用程序中有2个数据库,所以在Springboot加载属性并连接到数据库之前,我需要从我的2个数据库运行flyway。
我该如何在Spring Boot中手动启动Flyway?因为我的应用程序中有2个数据库,所以在Springboot加载属性并连接到数据库之前,我需要从我的2个数据库运行flyway。
如果我理解正确,您不想手动启动flyway,而是在两个数据库上运行它。以下是方法:
创建两个数据源,并将一个标记为@Primary,另一个(应该是一个bean)标记为@FlywayDataSource。 当flyway运行时,它将自动在两个数据源上运行。请参见https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-execute-flyway-database-migrations-on-startup。
你可以使用Flyway Maven插件来填充你的数据库。
你可以为每个数据库准备两个属性文件,并执行带有mvn -Dflyway.configFile=myConfig.properties
命令的Flyway。
或者
你可以在执行Maven时提供db属性,如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方法感到满意,您就不需要使用Spring进行Flyway迁移。