jhipster --version
5.3.4
Я оцениваю JHipster и проверяю, как он обрабатывает изменения базы данных DDL.В моем тесте я создал проект Jhipster и затем запустил jhipster import-jdl model.jh
.JHipster сгенерировал весь интеграционный тест, и все выглядело хорошо.Итак, я развернут в производство.Но потом я понял, что определил неправильные отношения между набором сущностей.Исходный файл model.jh
объявлял отношение one-to-many
, когда я намеревался объявить отношение many-to-one
.
Чтобы исправить это отношение, я попробовал три подхода.Сначала я попытался исправить отношение в файле model.jh
и снова запустить jhipster import-jdl
.Это внесло правильные изменения, которые мне нужны, за исключением того, что он переписал файлы журнала изменений в liquibase вместо того, чтобы создавать новую запись журнала изменений, содержащую только дельту.
Поэтому я отменил это изменение и попытался использовать субгенератор сущностей.Он также изменил исходные файлы журнала изменений, вместо того, чтобы создавать дельта-файл журнала изменений.Поэтому я отменил эти изменения, чтобы попробовать другой подход.
Я внес изменения в сущности вручную, а затем использовал mvn liquibase:diff
.Этот подход подошел ближе всего к тому, что мне нужно.Он действительно создал новый список изменений, а не обновил исходные файлы.Но новый список изменений пытался изменить не только столбец, связанный с отношениями.Он пытался изменить типы данных для нескольких несвязанных столбцов в таблице.Он удалил замечания / комментарии из существующих столбцов.Короче говоря, это было в основном переопределение всей таблицы с нуля с гораздо большим количеством изменений, чем необходимо для небольшого изменения, которое я пытался внести.В итоге я тоже вернулась к этому подходу.
Итак, мой вопрос: для тех из вас, кто является опытными пользователями JHipster и liquibase, как вы можете изменить свои объекты после того, как они уже используются в производстве?Вы просто создаете свои списки изменений вручную или есть хороший способ их автоматического создания?