我看到一个属性runOnChange,它在更改后重新运行changeset。但是,在重新应用之前是否可以为此变更集应用回滚? 例如,我有一个从changeset调用的脚本。我在那里进行了一些更改并希望重新应用,但在回滚之前需要调用它,之后应该应用新版本的脚本。 谢谢!
答案 0 :(得分:1)
没有功能可以在校验和更改时自动回滚changeSet。不确定一般是否可行,因为如果配置发生了变化,你就不知道回滚的旧值是什么。
根据您在脚本和数据库中的操作,可以在脚本中手动回滚更改并使用liquibase runOnChange =" true" changeSet标志。
例如,如果您有一个创建存储过程的脚本,则可以使用< changeSet runOnChange =" true">然后将您的过程定义为"创建或替换"
如果您有定义视图的脚本,则可以添加< sql> IF EXISTS VIEW_NAME DROP VIEW VIEW_NAME< / sql>