我的要求如下
- 当我
demo.sql
使用Liquibase
. 它由 10 个 sql 语句组成。 在第 5 条语句如果遇到错误,它应该完全回滚所有更改。
我的要求是继续它直到完成脚本并尝试提交其余有效的语句。
有什么解决办法吗?
我的要求如下
demo.sql
使用Liquibase
. 它由 10 个 sql 语句组成。在第 5 条语句如果遇到错误,它应该完全回滚所有更改。
我的要求是继续它直到完成脚本并尝试提交其余有效的语句。
有什么解决办法吗?
您应该向您添加preConditions
liquibase rollback
脚本。
来自https://www.liquibase.org/documentation/changes/sql_file.html
<changeSet author="liquibase-docs" id="sqlFile-example">
<preConditions onFail="MARK_RAN">
<!-- your preconditions here -->
</preConditions>
<sqlFile dbms="h2, oracle"
encoding="utf8"
endDelimiter="\nGO"
path="my/path/file.sql"
relativeToChangelogFile="true"
splitStatements="true"
stripComments="true"/>
<rollback>
<!-- your rollback here -->
</rollback>
</changeSet>
如果您想在第 5 条语句中特别demo.sql
回滚,那么也许您可以将您的文件拆分demo.sql
为两个文件并分别执行changeSets
:第一个将包含语句 1-5,第二个将包含语句 6-10。