Как программно запускать обновления Liquibase в версии 4.29 с поддержкой отката?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как программно запускать обновления Liquibase в версии 4.29 с поддержкой отката?

Сообщение Anonymous »

В настоящее время я использую Liquibase версии 4.29 в своем приложении Spring и хочу запускать обновления Liquibase программным способом, а не через командную строку. Я включил Liquibase с помощью свойства liquibase.enabled=true, и хотя сценарии миграции успешно выполняются при запуске приложения, у меня возникают проблемы с откатами.
Когда я запускаю миграцию с помощью интерфейса командной строки (CLI) Liquibase, а затем выполняю откат с помощью отката Liquibase, все работает как положено. Однако, когда я вижу, что Liquibase запускает сценарии при запуске приложения Spring, откат не работает должным образом; он возвращает «0 изменений отменено.»
Я заметил, что метод liquibase.update() устарел. В документации предлагается использовать следующий подход:

Код: Выделить всё

java.sql.Connection connection = openConnection(); // Your openConnection logic here
Database database = DatabaseFactory.getInstance().findCorrectDatabaseImplementation(new JdbcConnection(connection));
Liquibase liquibase = new Liquibase("path/to/changelog.xml", new ClassLoaderResourceAccessor(), database);
liquibase.update(new Contexts(), new LabelExpression());
Учитывая, что update() устарел, каков рекомендуемый способ программного выполнения обновлений Liquibase, гарантируя, что:
Liquibase успешно переносит сценарии, иначе приложение Spring не сможет выполнить запустите, если миграция не удалась.
Откаты работают правильно, как и в CLI.
Будем очень признательны за любые рекомендации или примеры!

Подробнее здесь: https://stackoverflow.com/questions/792 ... lback-supp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»