Jhipster - можно ли перебирать схему базы данных с помощью JDL Studio?

Я новичок в хипстер и создал файл JDL для сущностей в моей службе, используя Студия JDL.

Моя цель состоит в том, чтобы продолжить итерацию моего дизайна БД с помощью JDL Studio, а затем запустить службу, чтобы я мог видеть экраны Entity, созданные jhipster. Как мне это сделать?

У меня есть просмотрели документы по обновлениям базы данных, но я обнаружил, что эта общая задача разработки четко не изложена — желание повторять дизайн БД. Я вижу предложения по использованию jhipster entity ..., но означает ли это, что JDL Studio можно использовать только в начале разработки?

Мой текущий процесс, который, как я надеюсь, будет работать, таков:

  • Внесите изменения в мои объекты в JDL Studio
  • Скачать изменения в entities.jdl
  • беги jhipster import-jdl entities.jdl
  • Скажите ему перезаписать все - у меня все равно нет настроек кода.
  • Попробуйте запустить сервис с помощью ./mvnw

В настоящее время у меня очень мало пользовательского кода, и то, что у меня есть, привязано к git, поэтому я могу изменить/отменить изменения, если это необходимо.

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

Я пытался удалить файлы node_modules, target и .jhipster/*, чтобы посмотреть, смогу ли я аккуратно воссоздать объекты, но конфликты все еще есть.

Обратите внимание, что на данный момент я использую только H2 и не планирую использовать liquibase/настоящую базу данных, пока не выпущу что-нибудь, так что, вероятно, через несколько месяцев. Спасибо!

Он должен работать так, как ожидалось, импорт JDL может обнаруживать измененные объекты и не должен регенерировать те, которые не изменились, если вы не удалили каталог .jhipster. Я думаю, что вы удаляете слишком много каталогов. Вы не должны удалять node_modules, это занимает слишком много времени для загрузки и не содержит сгенерированного кода. Вы должны удалить только src и target. Использование JDL намного лучше, чем использование jhipster entity, и полностью подходит для вашего подхода. Кроме того, вы можете запустить студию локально.

Gaël Marziou 20.03.2022 11:46

Почему бы не использовать Liquibase? Это действительно помогает постепенно проектировать ваши объекты и ваш пользовательский интерфейс, загружая тестовые данные из CSV. Инкрементные журналы изменений Liquibase также могут помочь, хотя они плохо документированы: jhipster.tech/создание-приложения/…

Gaël Marziou 20.03.2022 11:46

Спасибо за подсказки - я никогда не пробовал этот вариант liquibase, и вместо этого попробую удалить папку src, а также запустить студию JDL локально. Очень признателен!

Brad Parks 20.03.2022 13:49
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
25
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

  • полностью удалив папку src и позволив ей восстановиться
  • предоставление обоих моих файлов JDL одновременно в командной строке.

У меня есть 2 файла JDL, один для сущностей и один для отношений, которые я разбил отдельно, пытаясь выяснить, как лучше всего выполнять эти обновления. Я также запускал их отдельно, что отлично работало для JDL-файла сущностей, но не для отношений, так как ему тоже нужны были сущности.

Итак, мое решение, похоже, было следующим:

cd my_project
rm -fr src target
jhipster import-jdl entities.jdl relationships.jdl

Если я обнаружил, что мои объекты не регенерируются, я также удалил папку .jhipster, но не уверен, что это требуется или нет.

rm .jhipster/*

Еще раз - я совершенно новичок в jhipster, поэтому могут быть лучшие процессы, но это, похоже, решило мои проблемы!

Другие вопросы по теме