Liquibase-откатка набора наборов изменений

мы делаем релизы базы данных, которые состоят из группы наборов изменений, и наши журналы изменений базы данных организованы следующим образом

   MasterChangeLog.xml

           ---> Release0001.XML
                    ---> AddCustomerTable.XML
                    ---> AddOrderTable.XML

           ---> Release0002.XML
                    ---> AddNewColumnsToCustomerTable.XML
                    ---> AlterOrderTableXML

           ---> Release0003.XML
                    ---> AddPreferedCustomerTable.XML

Я хотел бы знать, как я буду откатывать набор наборов изменений. Я надеялся, что смогу использовать tagDatabase с номером выпуска (Release001, Release002 или Release003) и просто откатить с помощью тега

Я ожидал бы, что смогу сделать что-то подобное, если бы я хотел откатить все изменения Release001

java -jar "liquibase.jar" --changeLogFile="MasterChangeLog.xml" Rollback "Release0002"

не могли бы вы рассказать мне, как я буду работать с Liquibase?

спасибо

1 ответов


команда, которую вы перечислили, действительна, если Release002 является допустимым тегом. Вы, наверное, не хочу/нужны кавычки тег Release0002, хотя.

при откате с помощью тега liquibase запускается в конце выполненных наборов изменений и откатывает каждый в обратном порядке, пока не попадет в набор изменений, который был помечен ранее. Я не уверен из вашего описания, если это то, что вы хотите.

в вашем примере, если вы пометили базу данных после Realease002.в XML побежал, запуск "rollback Release0002" откатит все в Release0003. Если вы хотите откатить все в Release0002, вам нужно будет запустить "rollback Release0001" или сделать тег Release0002 до выполнение наборов изменений Release0002. В любом случае, однако, вы будете иметь Release0003 откат, потому что он пришел после Release0002.

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