Liquibase не добавляет сценарий в историю при сбое набора изменений

Если набор изменений помечен как failOnError: false, записывает ли Liquibase его как примененный в случае сбоя?

Например, у нас есть сценарий, который выполняет упреждающую таблицу удаления в одном наборе изменений, а затем создает таблицу в следующем наборе изменений. При первом запуске сценария оператор drop table завершается ошибкой, как и ожидалось, а затем таблица создается успешно. Однако набор изменений, который попытался отбросить таблицу, не добавляется в таблицу databasechangelog.

Это ожидаемое поведение?


person Frank Calfo    schedule 11.02.2014    source источник


Ответы (1)


Это текущее поведение. В зависимости от причины сбоя может иметь смысл продолжить попытку или нет.

Я создал https://liquibase.jira.com/browse/CORE-1766, чтобы добавить функция, чтобы пометить его как неудачный и не пытаться снова.

В настоящее время лучшим вариантом было бы добавить предварительное условие в changeSet dropTable с onFail = "MARK_RAN"

person Nathan Voxland    schedule 11.02.2014
comment
Привет, Натан, есть ли что-нибудь в этом роде? Я пытаюсь решить эту проблему с предварительными условиями, но неудачная отметка в таблице databaseChangeLog была бы замечательной. Предварительные условия не являются легкими для каждого варианта использования. Я сам хотел бы изменить классы Java, но я не понимаю, где я могу действовать, чтобы решить эту проблему. заранее спасибо - person FDC; 16.03.2017