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

Posted

技术标签:

【中文标题】如何回滚其他上下文的变更集?【英文标题】:How can I rollback changesets of other context? 【发布时间】:2016-07-22 14:17:49 【问题描述】:

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

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

我该怎么做?

【问题讨论】:

【参考方案1】:

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

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

查看使用Rollback Maven Goal的示例:

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

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

【讨论】:

以上是关于如何回滚其他上下文的变更集?的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 liquibase 变更集上下文属性的 Spring Boot 配置文件来管理变更集范围

如何在 TFS 中恢复回滚的更改集?

将整个解决方案/项目回滚到 TFS 中的特定变更集?

如何撤消 TFS 中的回滚?

Angular中的变更检测

ios核心数据回滚