在测试容器的init函数中获取数据源属性

问题描述

我已经使用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();
   }
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...