问题描述
我已经使用jdbc url配置了测试容器,并尝试使用init函数来运行flyway。是否有任何示例可以实现以下目的?我正在努力在init函数中动态获取数据源属性
public class JDBCDriverTest {
public static void sampleInitFunction(Connection connection) throws SQLException {
Flyway flyway = Flyway.configure().dataSource("","","").load();
flyway.migrate();
}
}
解决方法
我是通过以下方式实现的
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();
}
}