如何在春季启动时手动启动飞路

时间:2016-04-05 23:00:14

标签: java spring-boot flyway

如何使用Spring Boot手动启动flyway?因为我的应用程序中有2个dbs,所以在Springboot加载属性之后,在连接到DB之前,我需要从我的2 dbs运行flyway。

2 个答案:

答案 0 :(得分:0)

您可以使用flyway maven插件填充数据库。

您可以为每个数据库提供两个属性文件,并使用mvn -Dflyway.configFile=myConfig.properties

执行flyway

或者

您可以在执行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

相关问题