Prisma Repositoryコード生成器

schema.prismaのmodel定義を貼り付けるだけで、Repositoryインターフェース定義・PrismaClientを利用した実装クラス・Expressコントローラーでの利用例(依存性注入パターン)の3点セットをブラウザ内で自動生成するツールです。クラス命名ルールやasync/await、戻り値の型付与を切り替えられます。

入力したスキーマはブラウザ内のみで処理され、外部サーバーへ送信されることはありません。
生成オプション
クラス命名ルール

使い方

  1. 入力欄にschema.prismaのmodel定義を貼り付けます。「サンプルモデルを読み込む」で動作を確認することもできます。
  2. 複数のモデルが含まれる場合は「対象モデル」のドロップダウンから生成対象を選択します。
  3. 「生成オプション」でクラス命名ルール(Iプレフィックス/Interfaceサフィックス)、async/awaitの使用、戻り値の型付与を切り替えます。
  4. 「①Repositoryインターフェース」「②PrismaClient実装クラス」「③Express利用例」のタブを切り替えながら、それぞれのコードを確認・コピーできます。

このツールについて

Prisma Repositoryコード生成器は、schema.prismaに書かれたmodel定義から、データアクセス層でよく使われるRepositoryパターンのコード一式を自動生成するツールです。新しいモデルを追加するたびに手作業でCRUD処理を書く手間を省き、チームでのコーディング規約の統一にも役立ちます。

生成されるインターフェース・実装クラスは、Prismaが自動生成する`Prisma.XxxCreateInput`や`Prisma.XxxUpdateInput`といった型をそのまま利用するため、スキーマの変更にも追従しやすく、実際のプロジェクトにそのまま組み込みやすい形になっています。PrismaClientはコンストラクタ経由で注入する依存性注入(DI)パターンを採用しており、テスト時にはモック実装に差し替えることができます。

モデルの主キー(`@id`が付与されたフィールド、なければ`id`という名前のフィールド)を自動的に検出し、`findUnique`や`update`・`delete`の引数の型に反映します。Express用のコントローラー例では、Repositoryをrouter生成関数に引数として渡せるようにしており、単体テスト時にモックRepositoryへ差し替えやすい設計になっています。

よくある質問

生成されたコードはそのままプロジェクトで使えますか?

`@prisma/client`が生成済みで、`PrismaClient`と対象モデルの型(例: `User`, `Prisma.UserCreateInput`)が利用可能なプロジェクトであれば、そのまま貼り付けて利用できます。ファイル名やディレクトリ構成は必要に応じて調整してください。

複数のモデルをまとめて生成できますか?

入力欄には複数のmodel定義を貼り付けられますが、コードは一度に1モデル分ずつ生成されます。複数のモデルが検出された場合は「対象モデル」のドロップダウンで生成したいモデルを切り替えてください。

リレーション(他モデルへの参照)フィールドはどう扱われますか?

生成される`create`・`update`メソッドの引数にはPrismaが自動生成する`Prisma.XxxCreateInput`・`Prisma.XxxUpdateInput`型をそのまま使用しているため、ネストしたリレーションの作成・更新も型定義上サポートされます。個別のフィールドを手動で組み立てる必要はありません。

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

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