我有正在运行的补丁程序,但从未调用回滚方法。
在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/

10-09 09:18