データモデルと ER 図
データモデルモードは API 契約とデータベースの溝を埋めます。OpenAPI スキーマから完全なリレーショナルモデルを導き、既存データベースと突き合わせ、どちらかが変わったとき両者を同期させます——全体を視覚的な ER 図で示します。
2 つの開始点があり、どちらもサポートされます。
- まだテーブルがない。 現在の API から各テーブル、フィールド、外部キー、リレーションテーブルと、それらを作る SQL を直接導く。
- データベースが既にある。 実テーブルと強制された外部キーを読み、API が含意するモデルと対照し、どこが一致しどこでずれているかを確認する。
4 層の突き合わせ
突き合わせ(datamodel.reconcile)は 4 層で権威ある事実を返します。
| 層 | 含まれるもの |
|---|---|
| Observed(観測) | 接続データベースの孤立テーブル、データベースだけにあるか強制された外部キー |
| Modeled(モデル化) | 各テーブルの状態(missing、drift、matched、extra)、モデル化/実フィールド対、フィールド級差異、影響を受ける API 操作、モデル化リレーション |
| Proposed(提案) | blockedBy 依存を持つ順序付き追加専用移行計画と、各ステップの SQL |
| Inferred(推論) | 自動推論された多対多リレーションテーブル、明確化すべき質問、安全策 |
モデルは各テーブル、フィールド、リレーション、表明をこの結果に基づかせ、DDL を捏造しません。
テーブル状態
- Missing(新規)——API が含意するがデータベースにない。
- Drift(ずれ)——両方にあるがフィールドや制約が違う。
- Matched(一致)——あり整合している。
- Extra(余分)——データベースにあるが現在の API が含意しない。