我有正在运行的补丁程序,但从未调用回滚方法。
在xml中,我有:
<changeSet id="969" author="sdjulgerova" runAlways="true" failOnError="true">
<customChange class="com.xxx.xxx.patch.Patch" />
</changeSet>
在java中我有
@Singleton
public class Patch implements CustomTaskChange, CustomTaskRollback {
@Override
public void execute(Database database) throws CustomChangeException {
// patch logic
}
@Override
public void rollback(Database database) throws CustomChangeException, RollbackImpossibleException {
// rollback logic
}
}
从不调用rollback()方法。如果execute()和抛出异常都不会出错。知道我在做什么错吗?
最佳答案
'customChange'标签没有自动回滚。 http://www.liquibase.org/documentation/changes/custom_change.html
关于java - 如果补丁失败,则不会调用liquibase回滚,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48135123/