如何知道liquibase变更集足够安全,可以在数据库上运行

时间:2018-05-24 08:07:23

标签: database upgrade liquibase

我正在尝试开发一个Web应用程序,根据用户选择的应用程序版本升级用户的数据库。我正在使用liquibase api来执行此操作。每个版本都有一组liquibase changeset文件。我想确保要在用户的数据库上运行的更改集是安全的。有没有办法在不影响数据库的情况下验证针对用户数据库的更改集,然后更新liquibase文件?我的变更集没有“回滚”标记。

1 个答案:

答案 0 :(得分:0)

您可以使用preConditions。 除了内置的前置条件,其中有很多,还有一个sqlCheck,可以让你检查你想要的任何条件。您可以在sqlCheck前提条件中检查可能的错误和不一致。

<changeSet id="changesetId" author="changesetAuthor">
        <preConditions onFail="MARK_RAN">
            <sqlCheck expectedResult="">
                <!-- your SQL here -->
            </sqlCheck>
        </preConditions>
        <!-- the rest of the changeSet -->

查看preConditions的liquibase文档。