目前我有一个拥有多个节点的jenkins服务器。在每个节点中,我都有一个运行的数据库来支持该特定节点中的测试。 我还在所有节点中构建了不同的功能分支。
这个环境有一个警告,就是数据库。不同的分支可以有不同版本的数据库,不幸的是我无法删除并为每个构建创建完整的数据库。所以我需要使用liquibase的更新和回滚。
目前我在maven编译周期内有liquibase,所以它会自动运行。但我需要能够根据当前文件更新和回滚更改。
当前行为只允许我在新的变更集出现时进行更新。
示例:
分支主机具有变更集B,C,D
分支F1具有变更集B,C,D,E
分支F2具有变更集B,C,D
我为F1运行任务,变更集E被添加到数据库中。后 如果我运行分支F2我需要它回滚到更改集D,但更新做 不允许我这样做。
由于
答案 0 :(得分:0)
我们为此类测试做的一件事是使用Liquibase的dropAll功能。它比完全删除和重新创建数据库更快,但实现了许多相同的目标 - 拥有一个干净的空数据库,然后您可以使用Liquibase更新来创建模式,然后对其进行测试。
有一个maven插件任务可以执行此操作。 http://www.liquibase.org/documentation/maven/maven_dropall.html