如果补丁失败,则不会调用liquibase回滚

时间:2018-01-07 07:15:54

标签: java liquibase

我有补丁正在运行,但从不调用回滚方法。 在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()和exception都会出错。知道我做错了吗?

1 个答案:

答案 0 :(得分:1)

&#39; customChange&#39;没有自动回滚功能。标签。 http://www.liquibase.org/documentation/changes/custom_change.html