- 追加された行はこの色です。
- 削除された行はこの色です。
* このページの概要 [#gdfb269e]
最初にJDLで作成したエンティティを更新してみます。
参考になるURLは、
https://www.jhipster.tech/creating-an-entity/
の下のほうに、既存のエンティティの更新についてのやり方が記載してあります。
このページでは、上記の参考ページを見ながら、実際にやってみて気づいたことを書いていきます。
* 修正したいエンティティの.jsonファイルの特定 [#i53b53b6]
まずは、
ls .jhipster
と入力すると、既存のエンティティの.jsonファイルがでてきます。
* JDLを編集して変更のあったエンティティだけを修正したい [#q31bac72]
JHipsterのページでは、jsonのファイルを使った修正が説明されているのかとおもいますが、以下のことを実現する方法を調べてみます。
- jdlを修正して、jsonだけを変更する方法がほしい
- 全部再生成すると、カスタマイズした部分が上書きされてしまうかもしれないので指定したエンティティだけを部分的にコード生成したい。
** jdlからエンティティのjsonだけを出力 [#w0aed5bd]
jhipster jdl ./my-jdl-file.jdl --json-only
以下のコマンドで、変更のあったエンティティだけ、自動生成されるのがデフォルトの動作のようだからもう少し簡単でもいいのでは
jhipster jdl ./my-jdl-file.jdl
*** どこが修正されたのか確認します。 [#vac2c36f]
GitLabの差分表示が見やすいので、いったん、仮のマージリクエストをつくります。
修正したくないファイルは、
git checkout 派生元のブランチ名 修正したくないファイルの相対パス
として、もどします。
* 一覧に集計結果を加えてレコードを返したい [#ha16f41e]
たいだい、一覧表を返す画面では集計結果を表示させるデザインが好まれる
** 複数のcountカラムを持つSQLの作成 [#x25ab709]
countで絞り込むことができる!
*** 例 [#fa523eb5]
COUNT(V1.is_absense = '出席' OR NULL) AS attendance
** liquibaseでviewを作成 [#x896847e]
*** サンプル [#w44d8814]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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-2.0.xsd">
<changeSet id="change-column-type" author="joschi">
<preConditions>
<tableExists tableName="addressbook_entries"/>
<tableExists tableName="address_data"/>
<tableExists tableName="phone_data"/>
</preConditions>
<createView viewName="addressbook">
SELECT firstname,lastname,street,postcode,city,phone FROM
addressbook_entries
JOIN address_data ON addressbook_entries.ID = address_data.entry_ID
JOIN phone_data ON addressbook_entries.ID = phone_data.entry_ID
</createView>
</changeSet>
</databaseChangeLog>
*** 参考元 [#z7ae9c39]
https://github.com/joschi/liquibase-presentation/blob/master/demo/08-create-view.xml