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

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

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

我该怎么做?

【问题讨论】:

    标签: java spring spring-boot liquibase


    【解决方案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 的上下文的所有变更集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      • 2016-05-29
      • 2014-04-24
      • 2011-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多