/ / Набори за промяна на разликите в Liquibase и база данни - liquibase

Комплекти за промяна на разликата в ликвибаза и база данни - liquibase

Развивам се и съм направил промени в db. Преди да се ангажирам, трябва да добавя промяната към моите набори за промяна. Така че правя liquibase --url="...;name=db_dev" diff но той ме пита за референтни параметри. Въпреки това не искам да сравнявам url db с друг db. Искам да сравнявам наборите за промени (файлове) с целеви db.

Възможно ли е това?

Отговори:

3 за отговор № 1

Мисля, че може да използвате Liquibase по нестандартен начин.

Един очакван модел на използване е, че създавате необходимите промени в схемата, като създавате Liquibase "набор за промени" (в XML, JSON или Liquibase структуриран SQL) и след това използвате liquibase update да внедрите тази промяна във всеки отделен случай от вашата база данни.

Вторият модел на използване ви прави промени директно в база данни, използвайки какъвто и да е инструмент за манипулиране на база данни, който предпочитате, и след това използвате liquibase diffChangelog да добавите съответната промяна към вашия файл с промени. След като направите промяната, трябва да използвате liquibase changelogsync команда за попълване на Liquibase DATABASECHANGELOG таблицата в базата данни с информацията, че новият набор от промени вече е "разгърнат" в базата данни. Втората употреба изисква:

  • сравни две бази данни на живо (например, можете да сравните "тестова" или "етапираща" база данни с която и да е база данни, която сте променили ръчно)
  • създайте "моментна снимка" на базата данни, преди да направите ръчна промяна, след това направете промяната и след това сравнете базата данни със снимката. Тази страница в блога на Liquibase описва как да използвате liquibase snapshot за да направите моментна снимка и как да използвате тази снимка като "офлайн база данни" за сравнение.

Тази страница е в документацията на Liquibase има някои подробности за моделите на употреба, когато започвате с Liquibase.