mcpField
P
prisma-client-api

prisma-client-api

github.com/prismaデータ・データベース76397.9k 回インストール1 日前に更新
リポジトリ

prisma-client-api について

現在の Prisma プロジェクトで Prisma Client を使う開発者向けのリファレンススキルです。クエリ、フィルタリング、リレーション、トランザクション、Raw SQL、クライアントメソッドを項目別に案内します。

主な機能

  1. 01CRUD と一括クエリのガイド
  2. 02フィルタリング、ソート、ページネーション
  3. 03リレーションの読み取りとネスト書き込み
  4. 04トランザクションのパターン
  5. 05Raw SQL とクライアントメソッドの参照

活用シーン

  1. 01Prisma Client のモデルクエリ作成
  2. 02クエリ結果の絞り込みと整形
  3. 03関連レコードの操作
  4. 04データベーストランザクションの実装

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/prisma/skills --skill prisma-client-api

インストール後、Claude Code で/prisma-client-apiを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
client-methods.md
constructor.md
filters.md
model-queries.md
query-options.md
raw-queries.md
relations.md
transactions.md

詳細

Prisma Client API リファレンス

Prisma Client の完全な API リファレンスです。このスキルでは、現在の Prisma プロジェクトにおけるモデルクエリ、フィルタリング、リレーション、クライアントメソッドについて説明します。

適用する場面

次のような場合にこのスキルを参照してください。

  • Prisma Client を使ってデータベースクエリを記述する
  • CRUD 操作(作成、読み取り、更新、削除)を実行する
  • データをフィルタリングして並べ替える
  • リレーションを扱う
  • トランザクションを使用する
  • クライアントオプションを設定する

優先度別のルールカテゴリ

優先度カテゴリ影響度プレフィックス
1クライアントの構築HIGHconstructor
2モデルクエリCRITICALmodel-queries
3クエリの形式HIGHquery-options
4フィルタリングHIGHfilters
5リレーションHIGHrelations
6トランザクションCRITICALtransactions
7生 SQLCRITICALraw-queries
8クライアントメソッドMEDIUMclient-methods

クイックリファレンス

  • constructor - PrismaClient のセットアップ、アダプターの接続、ロギング、SQL コメント用プラグイン
  • model-queries - CRUD 操作と一括操作
  • query-options - select、include、omit、並べ替え、ページネーション
  • filters - スカラーおよび論理フィルター演算子
  • relations - リレーションの読み取りとネストした書き込み
  • transactions - 配列形式およびインタラクティブなトランザクションのパターン
  • raw-queries - $queryRaw と $executeRaw の安全性
  • client-methods - ライフサイクルメソッド、拡張機能、prisma-client 向けの satisfies パターン

クライアントのインスタンス化

import { PrismaClient } from '../generated/client'
import { PrismaPg } from '@prisma/adapter-pg'

const adapter = new PrismaPg({
  connectionString: process.env.DATABASE_URL
})

const prisma = new PrismaClient({ adapter })

モデルクエリメソッド

メソッド説明
findUnique()一意フィールドでレコードを1件検索します
findUniqueOrThrow()レコードを1件検索し、見つからない場合はエラーをスローします
findFirst()条件に一致する最初のレコードを検索します
findFirstOrThrow()最初のレコードを検索し、見つからない場合はエラーをスローします
findMany()複数のレコードを検索します
create()新しいレコードを作成します
createMany()複数のレコードを作成します
createManyAndReturn()複数のレコードを作成して返します
update()1件のレコードを更新します
updateMany()複数のレコードを更新します
updateManyAndReturn()複数のレコードを更新して返します
upsert()レコードを更新または作成します
delete()1件のレコードを削除します
deleteMany()複数のレコードを削除します
count()条件に一致するレコード数を数えます
aggregate()値を集計します(合計、平均など)
groupBy()グループ化して集計します

クエリオプション

オプション説明
whereフィルター条件
select含めるフィールド
include読み込むリレーション
omit除外するフィールド
orderBy並べ替え順
take結果の上限
skip結果をスキップします(ページネーション)
cursorカーソルベースのページネーション
distinct一意の値のみ

クライアントメソッド

メソッド説明
$connect()データベースに明示的に接続します
$disconnect()データベースから切断します
$transaction()トランザクションを実行します
$queryRaw()生 SQL クエリを実行します
$executeRaw()生 SQL コマンドを実行します
$on()イベントを購読します
$extends()拡張機能を追加します

クイック例

レコードを検索する
// Find by unique field
const user = await prisma.user.findUnique({
  where: { email: '[email protected]' }
})

// Find with filter
const users = await prisma.user.findMany({
  where: { role: 'ADMIN' },
  orderBy: { createdAt: 'desc' },
  take: 10
})
レコードを作成する
const user = await prisma.user.create({
  data: {
    email: '[email protected]',
    name: 'Alice',
    posts: {
      create: { title: 'Hello World' }
    }
  },
  include: { posts: true }
})
レコードを更新する
const user = await prisma.user.update({
  where: { id: 1 },
  data: { name: 'Alice Smith' }
})
レコードを削除する
await prisma.user.delete({
  where: { id: 1 }
})
トランザクション
const [user, post] = await prisma.$transaction([
  prisma.user.create({ data: { email: '[email protected]' } }),
  prisma.post.create({ data: { title: 'Hello', authorId: 1 } })
])

ルールファイル

詳細な API ドキュメント:

references/constructor.md        - PrismaClient constructor options
references/model-queries.md      - CRUD operations
references/query-options.md      - select, include, omit, where, orderBy
references/filters.md            - Filter conditions and operators
references/relations.md          - Relation queries and nested operations
references/transactions.md       - Transaction API
references/raw-queries.md        - $queryRaw, $executeRaw
references/client-methods.md     - $connect, $disconnect, $on, $extends

フィルター演算子

演算子説明
equals完全一致
not等しくない
in配列内にある
notIn配列内にない
lt、lteより小さい
gt、gteより大きい
contains文字列を含む
startsWith文字列が次の文字列で始まる
endsWith文字列が次の文字列で終わる
mode大文字と小文字の区別

リレーションフィルター

演算子説明
some少なくとも1件の関連レコードが一致します
everyすべての関連レコードが一致します
none一致する関連レコードがありません
is関連レコードが一致します(1対1)
isNot関連レコードが一致しません

リソース

使用方法

上の表からカテゴリを選び、対応するリファレンスファイルを開いて、実装の詳細と例を確認してください。

コメント