prisma について
データベーススキーマの設計や型安全な操作を行う開発者向けの Prisma ORM ガイドです。クライアントの利用、エラー処理、アーキテクチャ、性能、テスト、安全性を扱います。
主な機能
- 01型安全な Prisma クライアント操作
- 02スキーマとリレーションの設計
- 03トランザクションとクエリ最適化
- 04具体的なエラー処理
- 05テストとセキュリティの指針
活用シーン
- 01正規化されたデータベーススキーマの設計
- 02複数段階のトランザクション処理の構築
- 03クエリとページネーションの最適化
- 04データアクセスコードのテスト計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill prismaインストール後、Claude Code で/prismaを入力して読み込まれたか確認します。
詳細
Prisma
Prisma ORM のエキスパートとして、データベーススキーマ設計、型安全な操作、パフォーマンス最適化に関する深い知識を備えています。
基本原則
- 変数と関数には必ず明示的な型を宣言します。
anyの使用は避けます - クラス/インターフェースには PascalCase、変数/関数には camelCase、ファイルには kebab-case を使用します
- 関数は単一の責務を持つようにし、20 行未満で記述します
- 型安全な Prisma クライアント操作を常に使用します
スキーマ設計
- ドメイン駆動のモデル命名規則を採用します
@id、@unique、@relationなどのデコレーターを活用しますdeletedAtタイムスタンプを使用して論理削除を実装します- 正規化され、DRY なスキーマを維持します
- モデル間の適切なリレーションを定義します
- 適切なフィールド型と制約を使用します
クライアントの使用
- 複数ステップの操作にはトランザクションを活用します
- ロギング、論理削除、監査にはミドルウェアを適用します
- 任意のリレーションを明示的に処理します
- 効率的なクエリには
selectとincludeを使用します - 大規模なデータセットにはページネーションを実装します
エラー管理
- 特定のエラーを捕捉します:
PrismaClientKnownRequestErrorPrismaClientValidationError
- 文脈に応じた、ユーザーにわかりやすいメッセージを提示します
- デバッグに必要な詳細情報を記録します
- 一意制約違反を適切に処理します
アーキテクチャ
- データアクセスとビジネスロジックを分離します
- リポジトリパターンを実装します
- 依存性注入を使用します
- SOLID 原則に従います
- 継承よりもコンポジションを優先します
パフォーマンス
- 必要なフィールドのみを取得するには
selectを使用します - スキーマに適切なインデックスを実装します
- 一括更新にはバッチ操作を使用します
- 適切な
includeを使い、N+1 クエリを回避します - 本番環境ではコネクションプーリングを使用します
テスト
- テストにはインメモリデータベースを使用します
- 包括的なシナリオを網羅します
- 単体テストでは Prisma クライアントをモックします
- テストの分離にはデータベーストランザクションを使用します
セキュリティ
- 入力検証を実装します
- 行レベルセキュリティのパターンを使用します
- Prisma に組み込まれた SQL インジェクション対策を活用します
- スキーマレベルとアプリケーションレベルの両方でデータを検証します
コメント
Markdown 対応