Я новичок в хипстер и создал файл JDL для сущностей в моей службе, используя Студия JDL.
Моя цель состоит в том, чтобы продолжить итерацию моего дизайна БД с помощью JDL Studio, а затем запустить службу, чтобы я мог видеть экраны Entity, созданные jhipster. Как мне это сделать?
У меня есть просмотрели документы по обновлениям базы данных, но я обнаружил, что эта общая задача разработки четко не изложена — желание повторять дизайн БД. Я вижу предложения по использованию jhipster entity ...
, но означает ли это, что JDL Studio можно использовать только в начале разработки?
Мой текущий процесс, который, как я надеюсь, будет работать, таков:
entities.jdl
jhipster import-jdl entities.jdl
./mvnw
В настоящее время у меня очень мало пользовательского кода, и то, что у меня есть, привязано к git, поэтому я могу изменить/отменить изменения, если это необходимо.
Проблема в том, что я вижу конфликты или приложение ломается и не компилируется вокруг вещей, которые кажутся связанными с объектами, которые не обновляются правильно. Я прекрасно могу перезаписать все, чтобы просто получить обновленные объекты и файлы переднего плана.
Я пытался удалить файлы node_modules
, target
и .jhipster/*
, чтобы посмотреть, смогу ли я аккуратно воссоздать объекты, но конфликты все еще есть.
Обратите внимание, что на данный момент я использую только H2 и не планирую использовать liquibase/настоящую базу данных, пока не выпущу что-нибудь, так что, вероятно, через несколько месяцев. Спасибо!
Почему бы не использовать Liquibase? Это действительно помогает постепенно проектировать ваши объекты и ваш пользовательский интерфейс, загружая тестовые данные из CSV. Инкрементные журналы изменений Liquibase также могут помочь, хотя они плохо документированы: jhipster.tech/создание-приложения/…
Спасибо за подсказки - я никогда не пробовал этот вариант liquibase, и вместо этого попробую удалить папку src
, а также запустить студию JDL локально. Очень признателен!
Как было предложено в комментариях к вопросу, основной процесс такой, как я указал в своем вопросе. Я думаю, что было 2 вещи, которые решили мою проблему
src
и позволив ей восстановитьсяУ меня есть 2 файла JDL, один для сущностей и один для отношений, которые я разбил отдельно, пытаясь выяснить, как лучше всего выполнять эти обновления. Я также запускал их отдельно, что отлично работало для JDL-файла сущностей, но не для отношений, так как ему тоже нужны были сущности.
Итак, мое решение, похоже, было следующим:
cd my_project
rm -fr src target
jhipster import-jdl entities.jdl relationships.jdl
Если я обнаружил, что мои объекты не регенерируются, я также удалил папку .jhipster
, но не уверен, что это требуется или нет.
rm .jhipster/*
Еще раз - я совершенно новичок в jhipster, поэтому могут быть лучшие процессы, но это, похоже, решило мои проблемы!
Он должен работать так, как ожидалось, импорт JDL может обнаруживать измененные объекты и не должен регенерировать те, которые не изменились, если вы не удалили каталог .jhipster. Я думаю, что вы удаляете слишком много каталогов. Вы не должны удалять node_modules, это занимает слишком много времени для загрузки и не содержит сгенерированного кода. Вы должны удалить только src и target. Использование JDL намного лучше, чем использование
jhipster entity
, и полностью подходит для вашего подхода. Кроме того, вы можете запустить студию локально.