‹откат› - Liquibase -

Я хотел бы вставить элемент <rollback/> в каждый из нескольких элементов <update> в <changeSet>. В отличие от одного элемента <rollback/> для всего <changeSet>. Будет ли это работать? Или контекст элемента <rollback/> является только всей транзакцией <changeSet>?

Я предполагаю, что если это работает, <rollback> происходит вне <update>, после каждого </update>?


person Chuck Herrick    schedule 19.02.2014    source источник


Ответы (1)


У вас может быть только один блок отката для каждого набора изменений. У вас не может быть отдельных для каждого блока обновления.

Liquibase не отслеживает отдельные обновления, а только набор изменений, поэтому нет возможности указать определенные части набора изменений для отката.

Внутри тега <rollback> может быть несколько блоков <update> или <sql>, но только один тег отката.

person Nathan Voxland    schedule 19.02.2014
comment
Просто напоминание: откат выполняется после того, как changeSet был успешно выполнен, и вы позже захотите его отменить. Если changeSet дает сбой, Liquibase откатывает транзакцию, используя стандартную поддержку отката базы данных, и отменяет все операторы обновления, которые были успешно выполнены. - person Nathan Voxland; 20.02.2014