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