【问题标题】:Fetching datasource properties in init function of testcontainers在测试容器的 init 函数中获取数据源属性
【发布时间】:2021-01-10 08:23:20
【问题描述】:
我已经使用jdbc url 配置了测试容器,并尝试使用init 函数运行flyway。有没有实现以下示例。我正在努力在 init 函数中动态获取数据源属性
public class JDBCDriverTest {
public static void sampleInitFunction(Connection connection) throws SQLException {
Flyway flyway = Flyway.configure().dataSource("", "", "").load();
flyway.migrate();
}
}
【问题讨论】:
标签:
spring-boot
flyway
testcontainers
【解决方案1】:
我通过以下方式实现了它
public class JDBCDriverTest {
public static void sampleInitFunction(Connection connection) throws SQLException {
Properties datasourceProperties = ((ConnectionImpl) connection).getProperties();
String user = datasourceProperties.getProperty("user");
String password = (String) datasourceProperties.get("password");
String url = ((ConnectionImpl) connection).getURL();
Flyway flyway = Flyway.configure().dataSource(url, user, password).load();
flyway.migrate();
}
}