如何回滚其他上下文的变更集?

时间:2016-07-22 14:17:49

标签: java spring spring-boot liquibase

我有两个liquibase上下文 - 主和测试。 在测试上下文中,有插入测试数据到db。 如果我运行测试,则所有更改集都在使用。 如果我运行应用程序,只有主变更集正在使用。

但是如果我在测试后运行应用程序,我可以在DB(master和test)中看到所有数据。 我想在运行app时自动回滚测试变更集。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

在运行应用程序之前,您可以使用liquibase Rollback命令撤消测试上下文的changeSet。

可以使用命令行实用程序Ant或Maven执行回滚或任何其他Liquibase命令。

使用Rollback Maven Goal

查看示例
mvn liquibase:rollback 
-Dliquibase.properties=./project.properties 
-Dliquibase.rollbackDate=2016-01-01 
-Dliquibase.contexts=test

在这种情况下,我使用了回滚日期模式。它将回滚属于名为test的上下文的2016年1月1日之后执行的所有更改集。