spring-boot - Spring Boot 获取 Flyway 配置
问题描述
我在 spring boot 上运行 flyway,我需要从 spring boot 代码中获取基线版本。我在 application.yml 文件中设置的基线版本如下
flyway:
enabled: false
baseline-version: 3
在我的春季启动代码中,我正在初始化我的飞行路线,如下所示
@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();
}
}
推荐阅读
- sql - 用于复杂条件聚合的 SQL Max 和 Min
- reporting - RDLC 报告不尊重我的页面高度选项
- sharepoint - 如何减少 Sharepoint 中链接图像之间的间隙
- python-3.x - Python:使用 pytest.fixture 模拟 ImportError
- javascript - 检测角度组件中的实际事件订阅者
- java - 如何解决(上下文:this)
- r - R:根据另一个数据帧计算一个数据帧中的货币数量并计算范围之间的平均值
- java - 我如何让这个公制时钟重新绘制每个 tic
- python - moto mock_lambda get_function 不起作用
- java - 如何修复 Tomcat 的“javax.servlet.ServletException:Servlet.init()”错误