Использование ликбазы в существующей базе данных

У нас есть существующая база данных на производстве. Мы решили использовать Liquibase для всех последующих обновлений и создать любую новую базу данных (например, разработку или интеграцию).

Мы создали скрипты Liquibase на основе существующей производственной схемы (для создания любой новой базы данных, такой как разработка, интеграция и т.д.). Помимо этого script мы добавили еще два обновления. В дальнейшем все дальнейшие обновления производственной БД будут выполняться с помощью липибазы.

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

Как мы можем это сделать?

Ответ 1

Процесс поместить существующую базу данных под контролем ликбазы выглядит следующим образом:

  • Создайте исходный журнал изменений (что вы сделали)
  • Запустите Liquibase с помощью команды changelogSync. Это создаст таблицы Liquibase и отметит все наборы изменений как применяемые (это то, что вы пропустили).
  • Добавьте свои наборы изменений
  • Запустите Liquibase, используя команду update, чтобы применить наборы изменений.