Prisma Repositoryコード生成器
schema.prismaのmodel定義を貼り付けるだけで、Repositoryインターフェース定義・PrismaClientを利用した実装クラス・Expressコントローラーでの利用例(依存性注入パターン)の3点セットをブラウザ内で自動生成するツールです。クラス命名ルールやasync/await、戻り値の型付与を切り替えられます。
使い方
- 入力欄にschema.prismaのmodel定義を貼り付けます。「サンプルモデルを読み込む」で動作を確認することもできます。
- 複数のモデルが含まれる場合は「対象モデル」のドロップダウンから生成対象を選択します。
- 「生成オプション」でクラス命名ルール(Iプレフィックス/Interfaceサフィックス)、async/awaitの使用、戻り値の型付与を切り替えます。
- 「①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で完結します。