Comment supprimer une entité après l'avoir créée en utilisant jhipster?

j'ai créé 3 entités (auteur, Livre, bibliothèque) en utilisant la commande "yo jhipster:entity" mais dans une entité (Bibliothèque) j'ai eu une relation ManyToMany (à livre) mais qui a causé "mappedBy Référence une entité cible inconnue propriété: com.tst.testdomain.domaine.Livre.la bibliothèque en com.tst.testdomain.docmain.Bibliothèque.livres " alors quelle est la manière propre de supprimer l'entité de bibliothèque. Une commande comme "yo jhipster: entitydelete" serait-elle utile?

17
demandé sur vijay bhatt 2015-01-30 02:02:50

7 réponses

j'utilise git scm pour cela. Ce n'est pas seulement les fichiers générés qui doivent être supprimés. jHipster modifie également les fichiers de sorte qu'avec ceux dont vous avez besoin pour garder le fichier mais revenir sur le changement.

chaque fois que je crée une entity je fais une commit séparée pour que je puisse suivre ce que jHipster a fait pour chaque entity.

Pour effacer toutes les modifications apportées depuis le dernier commit-je faire

git reset --hard
git clean -fd

si j'ai fait cela mais que j'ai aussi besoin de revenir en arrière lors de la propagation précédente, alors je faire

git reset --hard HEAD~1

les propagations sont locales avec git donc ce n'est pas avant que vous poussez ces propagations qu'elles seront partagées.

14
répondu Ben Thurley 2015-02-18 15:19:28

vous devez supprimer ce qui suit:

rm -rf   src/main/resources/config/liquibase/changelog/XXX_added_entity_YourEntity.xml
rm -rf src/main/java/com/radsphere/jeces/domain/YourEntity.java
rm -rf src/main/java/com/radsphere/jeces/repository/YourEntityRepository.java
rm -rf src/main/java/com/radsphere/jeces/web/rest/YourEntityResource.java 
rm -rf src/main/webapp/scripts/app/entities/YourEntity/YourEntitys.html
rm -rf src/main/webapp/scripts/app/entities/YourEntity/YourEntity-detail.html
rm -rf src/main/webapp/scripts/app/entities/YourEntity/YourEntity.js
rm -rf src/main/webapp/scripts/app/entities/YourEntity/YourEntity.controller.js
rm -rf src/main/webapp/scripts/app/entities/YourEntity/YourEntity-detail.controller.js
rm -rf  src/main/webapp/scripts/components/entities/YourEntity/YourEntity.service.js
rm -rf src/test/java/com/radsphere/jeces/web/rest/YourEntityResourceTest.java
rm -rf src/main/webapp/i18n/en/YourEntity.json
rm -rf src/main/webapp/i18n/fr/YourEntity.json       

et supprimer la référence de config/liquibase / master.xml:

<?xml version="1.0" encoding="utf-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">

<include file="classpath:config/liquibase/changelog/00000000000000_initial_schema.xml" relativeToChangelogFile="false"/>
<include file="classpath:config/liquibase/changelog/20150307175923_added_entity_Company.xml" relativeToChangelogFile="false"/>
<include file="classpath:config/liquibase/changelog/20150307180142_added_entity_UserTypeRecruiter.xml" relativeToChangelogFile="false"/>
<include file="classpath:config/liquibase/changelog/20150307180338_added_entity_UserTypeCandidate.xml" relativeToChangelogFile="false"/>
<include file="classpath:config/liquibase/changelog/20150307180448_added_entity_QuestionType.xml" relativeToChangelogFile="false"/>
<include file="classpath:config/liquibase/changelog/20150307180612_added_entity_Question.xml" relativeToChangelogFile="false"/>
<include file="classpath:config/liquibase/changelog/20150307180849_added_entity_Answer.xml" relativeToChangelogFile="false"/>
<include file="classpath:config/liquibase/changelog/20150307181033_added_entity_CandidateAnswer.xml" relativeToChangelogFile="false"/>
<!--<include file="classpath:config/liquibase/changelog/20150307181249_added_entity_your_removed_entity.xml" relativeToChangelogFile="false"/>-->
<include file="classpath:config/liquibase/changelog/20150307182736_added_entity_ExamTemplate.xml" relativeToChangelogFile="false"/>
<include file="classpath:config/liquibase/changelog/20150307182950_added_entity_Exam.xml" relativeToChangelogFile="false"/>
<!-- JHipster will add liquibase changelogs here -->

7
répondu shacharsol 2015-05-30 21:37:32

vous avez raison une commande Supprimer serait utile. Mais cette commande n'existe pas aujourd'hui. Ce sera peut-être ajouté. Si vous souhaitez supprimer une entité, vous devez le faire manuellement. Ainsi, supprimez tous les fichiers générés pour votre entité: domaine, dépôt, repos, test, contrôleur Angularjs & services, vue HTML, Lien dans le menu, Vue HTML

6
répondu Pracede 2015-01-30 08:21:54

c'est simple, vous avez juste besoin de supprimer l'entité sur le répertoire .jhipster / entityName.json et c'est tout.

vous pouvez exécuter le "yo:JHipster entity" à nouveau et annuler tout le reste.

Mème.-

6
répondu Meme 2015-06-30 22:02:16

je fais une requête pull pour ajouter cette fonctionnalité: https://github.com/jhipster/generator-jhipster/pull/4369

Pour l'utiliser, c'est très simple:

yo jhipster:entity Foo --remove

il est supprimer le script liquibase mais après que vous devez traiter avec la table / la famille de colonnes déjà créé et pas encore abandonné.

s'il vous Plaît voter ou commenter la question si vous êtes intéressé par cette : https://github.com/jhipster/generator-jhipster/issues/4372

6
répondu Duff 2016-10-24 08:58:01

J'ai fait quelques ajouts aux réponses de SparX et de Meme.

  • Vous devez supprimer DTO fichier généré pour l'entité, si vous avez choisi d' "utiliser DTO" lors de la génération de votre entité,
  • JHipster utilise Mapstruct à la carte Entity et DTO. Si vous utilisez DTO, alors vous devez supprimer mappeur classes que JHipster a généré pour vous
  • vous devez supprimer javascript références des fichiers des entités supprimées de "webapp / index.html"
  • vous devez supprimer les définitions i18n d'entité supprimée de "webapp/i18n/* / global.json"
  • vous devez supprimer les liens de menu de "webapp/scripts/composants/navbar.html"
  • si vous voulez mettre à jour la définition d'entity update et régénérer entity dans le futur, vous pouvez garder ./.jhipster / $ {ENTITY_NAME}.json

je mis à jour le SparX du script bash(delete-entity.sh) pour demander si pour supprimer une entité fichier de définition ou pas. Aussi l' " ${ENTITY_NAME^}" la syntaxe(qui est utilisée pour convertir la première lettre du nom d'entité en majuscule) n'est pas exécutée dans les anciennes versions de bash (comme 3.2).

le script bash mis à jour est ci-dessous. Juste mettre ce script dans le dossier de votre pom.xml est situé.

Exemple de cas d'utilisation: Si votre projet groupId " com.exemple" et si vous voulez supprimer une entité nommée "de la ville de", un exemple de commande est donnée ci-dessous:

./delete-entity.sh com/example/ ville

#!/usr/bin/env bash
echo;
if [ -z "" ];
then
    printf "Required argument GROUP_ID is not set. \nUsage: ./delete-entity.sh GROUP_ID ENTITY_NAME.\n";
    exit 1;
else
    GROUP_ID=;
    echo "GROUP_ID is set to ''.";
fi

if [ -z "" ];
then
    printf "Required argument ENTITY_NAME is not set. \nUsage: ./delete-entity.sh GROUP_ID ENTITY_NAME .\n";
    exit 1;
else
    ENTITY_NAME=;
    JAVA_ENTITY_NAME=`echo ${ENTITY_NAME:0:1} | tr  '[a-z]' '[A-Z]'`${ENTITY_NAME:1} 
    echo "ENTITY_NAME is set to ''." 
    echo "Java entity name inferred as: '${JAVA_ENTITY_NAME}'.";
fi

JAVA_ENTITY_NAME=`echo ${ENTITY_NAME:0:1} | tr  '[a-z]' '[A-Z]'`${ENTITY_NAME:1} 


QUESTION=$'You may want to keep definition file(.jhipster/${JAVA_ENTITY_NAME}.json) in case you want to regenerate entity in the future.\nDo you want to delete entity definition file also?'

while true; do
    read -p "${QUESTION}" yn
    case $yn in
        [Yy]* ) rm -rf ./.jhipster/${ENTITY_NAME}.json; break;;
        [Nn]* ) break;;
        * ) echo "Please answer yes or no.";;
    esac
done

echo;
echo "Starting to delete files...";

rm -rf src/main/resources/config/liquibase/changelog/*_added_entity_${JAVA_ENTITY_NAME}.xml
rm -rf src/main/java/${GROUP_ID}domain/${JAVA_ENTITY_NAME}.java
rm -rf src/main/java/${GROUP_ID}repository/${JAVA_ENTITY_NAME}Repository.java
rm -rf src/main/java/${GROUP_ID}service/${JAVA_ENTITY_NAME}Service.java
rm -rf src/main/java/${GROUP_ID}service/impl/${JAVA_ENTITY_NAME}ServiceImpl.java
rm -rf src/main/java/${GROUP_ID}repository/search/${JAVA_ENTITY_NAME}SearchRepository.java
rm -rf src/main/java/${GROUP_ID}web/rest/${JAVA_ENTITY_NAME}Resource.java
rm -rf src/main/java/${GROUP_ID}web/rest/dto/${JAVA_ENTITY_NAME}DTO.java
rm -rf src/main/java/${GROUP_ID}web/rest/mapper/${JAVA_ENTITY_NAME}Mapper.java
rm -rf target/generated-sources/${GROUP_ID}web/rest/mapper/${JAVA_ENTITY_NAME}MapperImpl.java

rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}.js
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}s.html
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}-detail.html
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}-detail.controller.js
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}.controller.js
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}-dialog.html
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}-dialog.controller.js
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}-delete-dialog.html
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}-delete-dialog.controller.js
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}

rm -rf src/main/webapp/scripts/components/entities/${ENTITY_NAME}/${ENTITY_NAME}.service.js
rm -rf src/main/webapp/scripts/components/entities/${ENTITY_NAME}/${ENTITY_NAME}.search.service.js
rm -rf src/main/webapp/scripts/components/entities/${ENTITY_NAME}

rm -rf src/test/java/${GROUP_ID}web/rest/${ENTITY_NAME}ResourceIntTest.java
rm -rf src/test/gatling/simulations/${ENTITY_NAME}GatlingTest.scala
rm -rf src/test/javascript/spec/app/entities/${ENTITY_NAME}/${ENTITY_NAME}-detail.controller.spec.js
rm -rf src/test/javascript/spec/app/entities/${ENTITY_NAME}

rm -rf src/main/webapp/i18n/en/${ENTITY_NAME}.json
rm -rf src/main/webapp/i18n/fr/${ENTITY_NAME}.json
rm -rf src/main/webapp/i18n/ru/${ENTITY_NAME}.json
rm -rf src/main/webapp/i18n/uz/${ENTITY_NAME}.json

echo "Deleting entity '${ENTITY_NAME}' is completed.";
echo;
echo "-----------------------------------------------------";
echo "Do not forget to manually correct these files also:  ";
echo "-----------------------------------------------------";
echo " --> src/main/webapp/index.html"
echo " --> src/main/webapp/scripts/compopnents/navbar.html"
echo " --> src/main/webapp/i18n/**/global.json"
echo " --> src/main/resources/config/liquibase/master.xml (if you use liquibase)"
echo " --> src/main/resources/config/mongeez/master.xml   (if you use mongodb)"
0
répondu Tevfik Kiziloren 2016-02-06 22:47:11

EDITED: ajout du script pour la nouvelle version de jhipster 3.9.0

Mon delete-entity.sh script pour jhipster version 2.26.2, basé sur la réponse de @shacharsol.

Utilisation: ./ delete-entity GROUP_ID ENTITY_NAME

GROUP_ID: com/sous-paquetage/et/alors// (terminer par"/")

ENTITY_NAME: firstLowercaseNameOfEntity

Exemple: ./supprimer-entité uz/javlon/ transInfo

#!/usr/bin/env bash

echo "################";

if [ -z "" ];
then
    printf "Required argument GROUP_ID is not set. \nUsage: ./delete-entity.sh GROUP_ID ENTITY_NAME.\n";
    exit 1;
else
    GROUP_ID=;
    echo "GROUP_ID is set to ''.";
fi

if [ -z "" ];
then
    printf "Required argument ENTITY_NAME is not set. \nUsage: ./delete-entity.sh GROUP_ID ENTITY_NAME .\n";
    exit 1;
else
    ENTITY_NAME=;
    echo "ENTITY_NAME is set to ''.";
fi

echo;

rm -rf src/main/resources/config/liquibase/changelog/*_added_entity_${ENTITY_NAME^}.xml
rm -rf src/main/java/${GROUP_ID}domain/${ENTITY_NAME^}.java
rm -rf src/main/java/${GROUP_ID}repository/${ENTITY_NAME^}Repository.java
rm -rf src/main/java/${GROUP_ID}repository/search/${ENTITY_NAME^}SearchRepository.java
rm -rf src/main/java/${GROUP_ID}web/rest/${ENTITY_NAME^}Resource.java

rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}.js
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}s.html
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}-detail.html
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}-detail.controller.js
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}.controller.js
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}-dialog.html
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}-dialog.controller.js
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}-delete-dialog.html
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}/${ENTITY_NAME}-delete-dialog.controller.js
rm -rf src/main/webapp/scripts/app/entities/${ENTITY_NAME}

rm -rf src/main/webapp/scripts/components/entities/${ENTITY_NAME}/${ENTITY_NAME}.service.js
rm -rf src/main/webapp/scripts/components/entities/${ENTITY_NAME}/${ENTITY_NAME}.search.service.js
rm -rf src/main/webapp/scripts/components/entities/${ENTITY_NAME}

rm -rf src/test/java/${GROUP_ID}web/rest/${ENTITY_NAME^}ResourceIntTest.java
rm -rf src/test/gatling/simulations/${ENTITY_NAME^}GatlingTest.scala
rm -rf src/test/javascript/spec/app/entities/${ENTITY_NAME}/${ENTITY_NAME}-detail.controller.spec.js
rm -rf src/test/javascript/spec/app/entities/${ENTITY_NAME}

rm -rf src/main/webapp/i18n/en/${ENTITY_NAME}.json
rm -rf src/main/webapp/i18n/ru/${ENTITY_NAME}.json
rm -rf src/main/webapp/i18n/uz/${ENTITY_NAME}.json

rm -rf ./.jhipster/${ENTITY_NAME^}.json

echo;
echo "Deleting ${ENTITY_NAME^} is completed.";
echo "################";