2017-01-23 7 views
0

У меня есть приложение загрузки весны, которое определило миграцию базы данных с использованием Liquibase. Когда я запускаю сценарий приложения, подождите 500 секунд и проверьте статус http-приложения. Когда он возвращает код кода ошибки, он убивает процесс приложения и пытается запустить приложение снова. Приложение убивается во время запуска, иногда и липибаза не удаляет записи с databasechangeloglock. Когда приложение запускается в следующий раз, оно ожидает блокировки релиза, но этого не происходит, и приложение убивается снова и снова.Spring Liquibase восстанавливается, когда приложение разбилось

В журналах последние строки из каждого приложения:

liquibase : Waiting for changelog lock.... 
liquibase : Waiting for changelog lock.... 

Есть ли у вас какие-либо идеи, как решить эту проблему внутри сценария?

ответ

1

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

1) http://www.liquibase.org/documentation/databasechangeloglock_table.html

2) http://www.liquibase.org/documentation/databasechangelog_table.html

Ваши изменения не работает из-за стола databasechangeloglock имеет набор столбцов LOCKED. Вы можете вручную отключить это, прежде чем снова запустите сервер/приложение.

ОЧЕНЬ ОСТОРОЖНЫ, КОТОРЫЕ ревизиями забежавших Перед этим

Если вы уверены, что набор изменений не запускать можно удалить relavent строки из обеих таблиц журнала изменений.