将整个模式从oracle数据库提取到另一个(java)(自动化)

时间:2018-06-26 07:41:13

标签: oracle jenkins jenkins-plugins liquibase schema-compare

我正在尝试找到一种解决方案,希望可以通过数据从一个Oracle数据库对另一个Oracle DB进行回归测试。

示例:数据库A添加了一个表,我想从数据库A中获取数据并将其导入数据库模式B。这最终将失败,并且我知道会有某种更改并且可以对其进行纠正。

我想在Jenkins中进行自动化以进行每晚测试。我发现了几个付费版本,但目前在项目中没有必要。

我正在使用Liquibase,但无法找到Jenkins的插件。我知道Sql Developer可以做到这一点,但我希望它可以自动化。

如果有人有过往经验或知道任何工具,我将不胜感激。

3 个答案:

答案 0 :(得分:3)

您是否考虑过Oracle Data Pump?使用它,您可以从一个数据库导出数据和/或架构元数据,然后将其导入另一个数据库。有一个命令行界面和一个PL / SQL API。

答案 1 :(得分:0)

有一个liquibase runner插件。你有尝试过吗?

或者,您可以在jenkins构建代理上安装liquibase并将其作为命令行工具执行。

答案 2 :(得分:0)

您可能不需要Jenkins的插件,只需简单的Gradle任务即可在Jenkinsfile中运行。 我将Gradle插件与类似的配置一起使用:

task updateSQL(type: JavaExec) {

    group = "Liquibase"
    classpath configurations.liquibase
    main = "liquibase.integration.commandline.Main"

    args "--changeLogFile=***/changelog-current.xml"
    args ****
}

此插件有效:'net.saliman:gradle-liquibase-plugin:XXX'