использование liquibase в существующей схеме
Я читал о том, как вы можете генерировать изменений.xml из существующей схемы. Это хорошо, но у меня есть существующие системы, которые я не хочу трогать, кроме как вносить новые изменения. У меня также есть совершенно новые системы, которые требуют применения всех изменений.
Итак, я хочу, чтобы liquibase выполнял миграции только из набора изменений X при работе в существующей системе. Т. е. БД этой системы находится в редакции X-1 (но без таблиц liquibase sys), и я не хочу никаких предварительных применяются миграции.
большое спасибо, ПЭТ!--1-->
2 ответов
Я думаю, что проще всего было бы сначала выполнить начальную настройку на пустой базе данных и экспортировать запись (записи), которую liquibase вставляет в DATABASECHANGELOG
таблица. Затем я бы экспортировал эти записи и вставлял их вручную в одну из целевых баз данных в их DATABASECHANGELOG
таблица, поэтому liquibase не выполняет "изменение" там снова.
конечно, я бы проверил все это с тестовыми дампами на тестовой машине... :)
Я бы рекомендовал немного другой подход, как прокомментировано в этом Liquibase форум нить
создать список из существующих схем. Liquibase CLI может сделать это для вас. Обычно я беру полученный XML и немного сглаживаю его (групповые изменения в отдельные журналы изменений, выполняю очистку для конкретного поставщика и т. д.), Но Liquibase выполняет большую часть работы.
запустите этот журнал изменений против существующая база данных (
changelogSync
command), но только помечая его как примененный (без фактического изменения схемы).используйте liquibase для применения новых изменений с этого момента.