Ошибка проверки Liquibase после изменения объекта

Я хотел изменить тип данных одного поля со строки на дату. Поэтому я удалил таблицу в БД. Затем изменил файл liquibase и запустил приложение. теперь он жалуется со следующим сообщением.

liquibase.exception.ValidationFailedException: Ошибка проверки:

Поэтому после этого я отменил изменения файла liquibase и запустил приложение. На этот раз ошибки нет, но таблица не создается.

Пожалуйста, помогите мне, как решить эту проблему.


person Sivaranjani D    schedule 21.09.2018    source источник


Ответы (2)


Я предполагаю, что неудачная проверка была ошибкой контрольных сумм. Это происходит, когда вы изменяете набор изменений, который уже был выполнен, и пытаетесь выполнить его снова.

Liquibase хранит все выполненные наборы изменений в таблице с именем databasechangelog, поэтому она может выяснить, какие наборы изменений можно пропустить во время выполнения.

Чтобы снова выполнить набор изменений, удалите соответствующий из этой таблицы ранее и снова запустите Liquibase.

person Roland Weisleder    schedule 21.09.2018

При использовании Liquibase вам не следует (как правило) изменять базу данных за пределами Liquibase — основное исключение, если вы являетесь разработчиком, работающим над собственной частной базой данных разработки. Если вы находитесь в этом состоянии (работаете с собственной частной базой данных), то при изменении базы данных вне Liquibase (т. е. при удалении таблицы) вам также потребуется удалить строку в таблице DATABASECHANGELOG, которая соответствует оператору создания таблицы, поэтому что при повторном запуске liquibase update таблица будет воссоздана.

person SteveDonie    schedule 21.09.2018