「データベース」タブではコードからテーブル定義を推測しER図の生成が可能です。
<aside> 💡
データベース機能ではDDLやmodel、Entity定義、マイグレーションファイルなどあくまでテーブルを「定義」するコードに限定して生成を行います。そのため、テーブルの参照や更新ロジックからは生成を行いません。また、外部キー制約が明確にコード内に定義されている場合にはリレーションの生成を行いますが、「結合して参照をしている」といった処理からはリレーションは生成されません。
もし参照や更新のロジックから推測したER図をご所望の場合は本機能ではなく、チャットにて「最大限推測したER図をMermaidで作成して」などと指示した上で、ドキュメントタブ内に保存することを推奨いたします
</aside>
ソースコードのインポート完了後、データベースタブをクリックすると下記の画面が表示されます。
「データベース構造を分析」ボタンをクリックします。
「分析を開始」ボタンをクリックするとAIが分析して生成します。
データベース定義のソースコードの所在を明確に指示して生成したい場合には、以下内容を指定してください
マイグレーションソース | モデルソース |
---|---|
データベースマイグレーションファイルのディレクトリやファイル名を指定 | 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ファイル