Как создать файл журнала изменений Liquibase для новых таблиц? - PullRequest
1 голос
/ 08 сентября 2011

Я использую Hibernate 2 + Spring 3 + Liquibase 1.9. Я создал свои классы сущностей, используя аннотацию Hibernate как обычно Теперь я хочу автоматически сгенерировать журнал изменений Liquibase, который должен содержать операторы DB CREATE. Я не хочу вручную создавать XML-файлы журнала изменений, поскольку это кажется утомительным и подверженным ошибкам, особенно в первый раз.

Что меня удивляет, так это то, что у maven нет цели maven просматривать классы сущностей mt и генерировать журнал изменений Liquibase аналогично тому, что делает hbm2ddl?

Я прогуглил многочисленные страницы безрезультатно, они, кажется, указывают мне на командную строку Liquibase и некоторый скрипт ANT, но это должно быть возможно на maven!

Итак, я предполагаю, что мой вопрос: как вызвать процесс для генерации журнала изменений Liquibase для новых классов сущностей, написанных в аннотации JPA?

Спасибо

Ответы [ 2 ]

1 голос
/ 07 октября 2011

Я столкнулся с той же проблемой и решил ее, сначала создав базу данных, используя hibernate hbm2ddl (для создания или обновления установите hibernate.hbm2ddl.auto), а затем команду liquibase generateChangeLog для сгенерированной базы данных.

1 голос
/ 08 сентября 2011

На данный момент интеграция жидкость-база / спящий режим не поддерживает аннотации JPA для сравнения в спящем режиме.

Когда интеграция hibernate поддерживает JPA, вы все равно захотите убедиться, что сгенерированные наборы изменений действительно соответствуют вашим ожиданиям, поскольку любые инструменты сравнения базы данных не понимают цели изменения (см. http://blog.liquibase.org/2007/06/the-problem-with-database-diffs.html). По этой причине я обычно пишу наборы изменений вручную с самого начала.

...