Jhipsterジェネレーターを使用して、プロジェクトを作成します。 jhipster documentation で提供される情報に従って、手動でエンティティを生成しました:
データベースの更新を手動で行うことを好む(または必要とする)場合、開発ワークフローは次のとおりです。JPAエンティティを変更(フィールド、関係などを追加)新しい「変更ログを作成src/main/resources/config/liquibase/changelogディレクトリにあります。そのディレクトリ内のファイルには、作成日(yyyyMMddHHmmss形式)の接頭辞が付けられ、その後、ファイルの動作を説明するタイトルが付けられます。たとえば、20141006152300_added_price_to_product.xmlは適切な名前です。この「変更ログ」ファイルをsrc/main/resources/config/liquibase/master.xmlファイルに追加します。次回アプリケーションを実行するときに適用されます。Liquibaseの使用に関する詳細情報が必要な場合は、 http://www.liquibase.org 。
ここでは、ドキュメントに記載されている、追加する方法!!!フィールドまたはエンティティ間の関係(JPAエンティティ)を削除する場合はどうすればよいですか?
ありがとう
1)エンティティを表すjsonファイルを編集します(フィールドの追加/削除、構文は非常に簡単です。'fieldsContainOneToMany 'などの一般的なエンティティプロパティの変更が必要な場合はファイルの最後を確認してください)。でそれを見つける:
<jhipster_root_folder>/.jhipster/entityName.json
2)コードをビルドします。
3)プロジェクトのルートで次のコマンドを実行します:
yo jhipster:entity entityName
注:このコマンドはデフォルトですべての手動変更を上書きします。最終的に不要な変更を元に戻すためにこのコマンドを実行する前に、VCSリポジトリでコミットすることをお勧めします。
4)実行
mvn liquibase:diff
私はjhipster 3.4.2のために働いたソリューションを持っています、それは1日で私の結果です、あなたに役立つことを願っています:)
yo jhipster:entity entityName
を実行しますchangelog .xml
にはNOを選択しますファイルとnavbar.html
ファイル。mvn compile liquibase:diff
を実行します同じページで次の文を見ることができます:
開発でMySQLまたはPostgresqlを使用することを選択した場合、mvn liquibase:diffゴールを使用して変更ログを自動的に生成できます。
Liquibase Hibernateはpom.xmlで設定されるMavenプラグインであり、Spring application.ymlファイルから独立しているため、デフォルト設定を変更した場合(データベースパスワードを変更した場合など)、両方のファイルを変更する必要があります。
開発ワークフローは次のとおりです。
JPAエンティティを変更します(フィールド、リレーションシップなどを追加します)アプリケーションをコンパイルします(これはコンパイルされたJavaコードで動作するため、コンパイルすることを忘れないでください!)を実行しますmvn liquibase:diff (またはmvn compile liquibase:diff to compile)新しい「変更ログ」がsrc/main/resources/config/liquibase/changelogディレクトリに作成されます。この変更ログを確認して、src/main/resources/config /に追加します。 liquibase/master.xmlファイル。次回アプリケーションを実行するときに適用されます。Mavenの代わりにGradleを使用する場合は、。/ gradlew liquibaseDiffChangelogを実行して同じワークフローを使用し、必要に応じてliquibase.gradleのデータベース構成を変更できます。 。
したがって、JPAエンティティを変更(削除、追加など)し、mvn compile liquibase:diffを実行し、変更をmaster.xmlに入れるだけです。
既存のエンティティを変更 インタラクティブに、例えばエンティティFoo
にyo jhipster:entity Foo
を使用します。
これにより、すべてのエンティティとダイアログを再生成できます。
RDBMSとliquibaseを使用している場合、changelogファイルを作成し、master.xmlに追加する必要があります。ここで役立つのは、既存のデータベースに対して実行できるmvn liquibase:diff
またはgradlew liquibaseDiff
を使用することです。ただし、変更ログファイルを手動で書き込むことをお勧めします。
Jhipster 5.7.0の場合、エンティティコマンドを再度実行すると、変更するかどうかを尋ねられます。
% jhipster entity device
INFO! Using JHipster version installed locally in current project's node_modules
INFO! Executing jhipster:entity device
INFO! Options: from-cli: true
Found the .jhipster/Device.json configuration file, entity can be automatically generated!
The entity device is being updated.
? Do you want to update the entity? This will replace the existing files for this entity, all your custom code will be overwritten
Yes, re generate the entity
❯ Yes, add more fields and relationships
Yes, remove fields and relationships
No, exit
リレーションシップのようなjhipsterエンティティを変更して新しいテーブルを追加するために私がやったことは:
注:この手順の後、エラー、serverError、または何かを再生成する場合、de entity regenerate Entity を再生成します。もちろん、すべてのデータを保持したい場合、これは良い選択肢ではありません。