我将Spring Boot与Flyway一起使用,现在我需要将其与2个数据库一起使用,今天这是我的属性文件: flyway.validateonmigrate = false flyway.baselineonmigrate = true flyway.check-location = false ...

问题描述 投票:0回答:1
Flyway

一起使用,现在我需要与2个数据库一起使用它,今天这是我的属性文件: flyway.validateOnMigrate=false flyway.baselineOnMigrate=true flyway.check-location=false flyway.locations=classpath:db/migration flyway.sql-migration-prefix=V flyway.sql-migration-suffix=.sql flyway.enabled=true 因此,如何配置以使用另一个连接(与我的迁移中的另一个DIR)?

	
您可以手动配置下面的两个数据库。

@Configuraton public class PrimaryDb { @Primary @Bean(name = "primaryDataSourceProperties") @ConfigurationProperties("spring.datasource-primary") public DataSourceProperties primaryDataSourceProperties() { return new DataSourceProperties(); } @Primary @Bean(name = "primaryDataSource") @ConfigurationProperties("spring.datasource-primary.configuration") public DataSource primaryDataSource(@Qualifier("primaryDataSourceProperties") DataSourceProperties primaryDataSourceProperties) { return primaryDataSourceProperties.initializeDataSourceBuilder().type(HikariDataSource.class).build(); } }

java spring spring-boot flyway
1个回答
0
投票
对于飞行配置,您需要明确定义每个数据库在应用更改时应寻找的位置。

@Configuration public class FlywayInit { @Autowired private DataSource primaryDb; @Autowired @Qualifier("secondaryDataSource") private DataSource secondaryDb; @PostConstruct public void flyway() { Flyway flywayP = Flyway.configure().dataSource(primaryDb).locations("db/migration").load(); Flyway flywayS = Flyway.configure().dataSource(secondaryDb).locations("db/second").load(); flywayP.migrate(); flywayS.migrate(); } }

	

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.