Spring 开机获取flyway配置
Spring boot get flyway configuration
我在 spring 启动时 运行 flyway,我需要从 spring 启动代码中获取基线版本。我在 application.yml 文件中设置的基线版本如下
flyway:
enabled: false
baseline-version: 3
并且在我的 spring 引导代码中,我正在初始化我的飞行路线,如下所示
@Override
public void run(String... args) {
Flyway flywaysftp = Flyway.configure()
.locations("classpath:db/migration/sftp")
.baselineVersion(?)
.dataSource(dataSourceConfigSftp.dataSourceSftp().getJdbcUrl(), dataSourceConfigSftp.dataSourceSftp().getUsername(), dataSourceConfigSftp.dataSourceSftp().getPassword()).load();
}
我需要能够将 flywaysftp 的基线版本设置为我 application.yml 中的基线版本。
有没有办法使用 flyway 库从我的 application.yml 检索基线版本?
您可以像这样使用 Spring @Value:
@Component
public class MyClass{
@Value("${flyway.baseline-version}")
private String flywayBaselineVersion;
....
....
public void run(String... args) {
Flyway flywaysftp = Flyway.configure()
.locations("classpath:db/migration/sftp")
.baselineVersion(flywayBaselineVersion)
.dataSource(dataSourceConfigSftp.dataSourceSftp().getJdbcUrl(), dataSourceConfigSftp.dataSourceSftp().getUsername(), dataSourceConfigSftp.dataSourceSftp().getPassword()).load();
}
}
我在 spring 启动时 运行 flyway,我需要从 spring 启动代码中获取基线版本。我在 application.yml 文件中设置的基线版本如下
flyway:
enabled: false
baseline-version: 3
并且在我的 spring 引导代码中,我正在初始化我的飞行路线,如下所示
@Override
public void run(String... args) {
Flyway flywaysftp = Flyway.configure()
.locations("classpath:db/migration/sftp")
.baselineVersion(?)
.dataSource(dataSourceConfigSftp.dataSourceSftp().getJdbcUrl(), dataSourceConfigSftp.dataSourceSftp().getUsername(), dataSourceConfigSftp.dataSourceSftp().getPassword()).load();
}
我需要能够将 flywaysftp 的基线版本设置为我 application.yml 中的基线版本。
有没有办法使用 flyway 库从我的 application.yml 检索基线版本?
您可以像这样使用 Spring @Value:
@Component
public class MyClass{
@Value("${flyway.baseline-version}")
private String flywayBaselineVersion;
....
....
public void run(String... args) {
Flyway flywaysftp = Flyway.configure()
.locations("classpath:db/migration/sftp")
.baselineVersion(flywayBaselineVersion)
.dataSource(dataSourceConfigSftp.dataSourceSftp().getJdbcUrl(), dataSourceConfigSftp.dataSourceSftp().getUsername(), dataSourceConfigSftp.dataSourceSftp().getPassword()).load();
}
}