Это нормально (по крайней мере, в бета-версии), поскольку операция обновления изменила файл миграции Liquibase 20161022122700_added_entity_Libro.xml
, который создал объект, поэтому Liquibase сравнивает контрольную сумму обновленного файла с контрольной суммой, которая была записана в вашей базе данных, когда миграция была впервые запущена перед обновлением.
Так у вас есть эти альтернативы:
- создать новый миграционный файл, чтобы добавить только новый столбец (см addColumn documentation), вернуться к миграции создания в исходном содержание с помощью Git, запустите приложение, чтобы применить изменения вашей базы данных. Это то, что вы сделали бы, когда ваше приложение будет в производстве.
- очистить контрольные суммы вручную в
databasechangelog
таблице из вашей базы (ов)
- введите
mvn liquibase:clearCheckSums
команду против вашей базы данных. Убедитесь, что ваш pom.xml
содержит правильную конфигурацию для maven-liquidibase-plugin для доступа к вашему db.
- использование H2 в памяти как Dev базы данных
Поскольку эта функция бета, этот вопрос, вероятно, будет решаться.
Если я пытаюсь использовать Liquibase clearCheckSums, я запускаю эту ошибку http://pastebin.com/ZhhXfveS. Я также пробую ваш первый совет, но у меня такая же ошибка. Я не знаю, почему, но я не могу добавить новое поле к существующей сущности. WAIT: Каков правильный шаг, чтобы следовать вашему первому совету. Я создаю новый файл миграции и копирую все содержимое исходного файла миграции во второй, и добавляю новое поле и после? – Dennis
У меня проблема с первым шагом. Есть шаг за шагом. Этот пункт «вернуть миграцию создания к исходному контенту с помощью git» не ясен для меня – Dennis
'git reset --hard config/liquidibase/changelog/20161022122700_added_entity_Libro.xml'may work, проверьте изменения, внесенные в папку chnagelog –