「データベース」タブではコードからテーブル定義を推測しER図の生成が可能です。

<aside> 💡

データベース機能ではDDLやmodel、Entity定義、マイグレーションファイルなどあくまでテーブルを「定義」するコードに限定して生成を行います。そのため、テーブルの参照や更新ロジックからは生成を行いません。また、外部キー制約が明確にコード内に定義されている場合にはリレーションの生成を行いますが、「結合して参照をしている」といった処理からはリレーションは生成されません。

もし参照や更新のロジックから推測したER図をご所望の場合は本機能ではなく、チャットにて「最大限推測したER図をMermaidで作成して」などと指示した上で、ドキュメントタブ内に保存することを推奨いたします

</aside>

生成の開始

ソースコードのインポート完了後、データベースタブをクリックすると下記の画面が表示されます。

「データベース構造を分析」ボタンをクリックします。

image.png

「分析を開始」ボタンをクリックするとAIが分析して生成します。

image.png

データベース定義のソースコードの所在を明確に指示して生成したい場合には、以下内容を指定してください

マイグレーションソース モデルソース
データベースマイグレーションファイルのディレクトリやファイル名を指定 DDL文、Model定義、Entity Classなどデータベース構造を定義するコードのディレクトリやファイル名を指定

<aside> <img src="notion://custom_emoji/be6005d7-8302-4c8e-93fe-03d0d3d71970/12f3c107-d7a8-8009-8054-007a9b09b0b8" alt="notion://custom_emoji/be6005d7-8302-4c8e-93fe-03d0d3d71970/12f3c107-d7a8-8009-8054-007a9b09b0b8" width="40px" />

まずはデフォルト状態で生成し、結果に応じてソースコードを指定して再生成を行うことも可能です

</aside>

ワイルドカード指定方法

** 任意のフォルダ名

* 任意のファイル名

例えば以下の場合はモデルソースとして下記のような指定方法になります。パターンは複数登録することも可能です。

src/modelDefinitions/**/*.java

src/
└── modelDefinitions/  // モデル定義のフォルダ
    ├── TableA/        // テーブルAのサブフォルダ
    │   ├── User.java      // Userモデル定義用の.javaファイル
    │   ├── Product.java   // Productモデル定義用の.javaファイル
    │   └── Order.java     // Orderモデル定義用の.javaファイル
    └── TableB/        // テーブルBのサブフォルダ
        ├── Customer.java  // Customerモデル定義用の.javaファイル
        ├── Invoice.java   // Invoiceモデル定義用の.javaファイル
        └── Payment.java   // Paymentモデル定義用の.javaファイル