Prisma Schema ビジュアルER図ツール

schema.prismaのコードを入力すると、各modelをカード型UIで一覧表示し、フィールド名・型・制約(@id, @unique, オプショナル)と@relationによる参照関係を視覚的に確認できるツールです。モデル名による絞り込みにも対応しています。

入力したスキーマはブラウザ内のみで処理され、外部サーバーへ送信されることはありません。

使い方

  1. 入力欄にschema.prismaのコードを貼り付けます。「サンプルスキーマを読み込む」で動作を確認することもできます。
  2. 各モデルがカードとして一覧表示され、フィールド名・型・「?」(オプショナル)・ユニーク制約・リレーション先が確認できます。
  3. モデル数が多い場合は「モデル名で絞り込み」の検索欄で対象を絞り込めます。
  4. 画面下部の「リレーション一覧」では、どのモデルのどのフィールドがどのモデルを参照しているか(1対1・多対1・1対多)を一覧で確認できます。

このツールについて

Prisma Schema ビジュアルER図ツールは、テキストベースのschema.prismaを読みやすいカード型UIに変換し、モデル同士の関係性を素早く把握できるようにするツールです。大規模なスキーマの全体像を把握したいときや、レビュー時にモデル構成を説明したいときに活用できます。

各フィールドには、主キーを表す鍵アイコン、ユニーク制約バッジ、オプショナルを表す「?」バッジが表示され、`@relation`が付与されたフィールドやリレーション先モデル名として推測されるフィールドは、矢印付きで参照先のモデル名が示されます。

画面下部の「リレーション一覧」では、スキーマ全体から検出したリレーションを`モデル.フィールド → 参照先モデル`という形式で一覧化し、配列型かどうかに応じて「1対多」「1対1 / 多対1」の目安を表示します。

よくある質問

リレーションの多重度(1対1・1対多など)はどのように判定されていますか?

フィールドが配列型(`Post[]`のように`[]`が付いている)であれば「1対多」、そうでなければ「1対1 / 多対1」として簡易的に表示しています。正確な多対多の判定には双方向のリレーション定義全体を解析する必要があるため、あくまで目安としてご利用ください。

Enum(列挙型)は表示されますか?

表示されます。スキーマ内に`enum`定義が含まれる場合、モデル一覧の下に「Enum一覧」としてカード表示され、定義されている値の一覧を確認できます。

複数ファイルに分割されたschema.prismaにも対応していますか?

入力欄に貼り付けたテキストのみを解析対象としています。複数ファイルに分割している場合は、それぞれの内容を1つのテキストにまとめてから貼り付けてください。

入力したスキーマはサーバーに送信されますか?

送信されません。スキーマの解析とカードの表示は、すべてブラウザ内のJavaScriptで完結します。