prisma-client-api
prisma/skills
モデルクエリ、フィルター、演算子、およびクライアントメソッドについて解説したPrisma Client APIリファレンスです。データベースクエリの作成、CRUD操作の実行、データのフィルタリング、またはPrisma Clientの設定を行う際に参照してください。 「prisma query」、「findMany」、「create」、「update」、「delete」、「$transaction」に対するトリガー。
...すべて拡張しますprisma-client-api について
「prisma-client-api」スキルは、Prisma Client を使用してデータベースとやり取りするための包括的なリファレンスを提供します。このスキルにより、Prisma プロジェクト内でのクエリの構築、CRUD 操作の実行、フィルターの適用、リレーションの管理、およびトランザクションの処理といったプロセスが効率化されます。 クライアントのインスタンス化、モデルクエリ、クエリオプション、および生のSQL実行に関する詳細なガイダンスを提供することで、このスキルは開発者がリレーショナルデータベースを扱う際のエラーを減らし、効率を向上させるのに役立ちます。特に、クエリが正しく構成されていることを確認したり、ネストされた書き込みやトランザクションなどの高度な操作を安全かつ効果的に処理したりするのに役立ちます。
このスキルは、findUnique、findMany、create、update、delete、upsert といったモデルクエリメソッドや、count、aggregate、groupBy といった集計関数など、幅広い機能を網羅しています。また、クエリオプションについても広範なサポートを提供しており、開発者はフィルタリング、選択、包含、除外、ソート、ページネーション、および一意な値の強制を行うことができます。 ライフサイクル管理、イベントサブスクリプション、生SQLの実行、クライアント拡張機能のためのPrisma Clientメソッドも含まれています。このスキルは、生SQLクエリの安全な実行を保証し、データの整合性を維持するために、配列ベースおよび対話型のトランザクションの使用に関するガイダンスを提供します。
対象ユーザーには、Prismaを介してデータベースと効率的にやり取りする必要がある、JavaScriptまたはTypeScriptを使用するバックエンド開発者、データベース管理者、フルスタックエンジニアが含まれます。 代表的なユースケースとしては、正確なデータの取得、操作、集計が不可欠なWebアプリケーション、API、マイクロサービスの構築が挙げられます。また、本番環境で複雑なリレーショナルロジックを実装したり、バッチ処理を実行したりする際に、一貫したクエリパターンやベストプラクティスに関する標準的なリファレンスを必要とするチームにも適しています。
よくある質問
カスタムアダプターを使用して Prisma Client をインスタンス化するにはどうすればよいですか?
提供されているTypeScriptの例に示されているように、PrismaClientとアダプターをインポートし、アダプターの設定をクライアントのコンストラクターに渡すことで、Prisma Clientをインスタンス化できます。
Prisma Clientではどのようなデータベース操作がサポートされていますか?
Prisma Clientは、findUnique、findMany、create、createMany、update、updateMany、upsert、delete、deleteManyを含む完全なCRUD操作をサポートしています。また、集計およびグループ化メソッドもサポートしています。
Prisma Clientはトランザクションを処理できますか?
はい、Prisma Client は $transaction メソッドを使用して、配列ベースのトランザクションと対話型トランザクションの両方をサポートしており、単一のトランザクション内で複数のクエリを安全に実行できます。
生のSQLはサポートされていますか?また、安全に使用できますか?
Prisma Client には、生の SQL クエリを実行するための $queryRaw および $executeRaw メソッドが用意されています。これらは SQL インジェクションを防ぐために慎重に使用する必要があり、ドキュメントには安全な使用方法に関するガイダンスが記載されています。
この Prisma Client API スキルを使用するための要件は何ですか?
生成済みのクライアントを含む Prisma プロジェクト、サポートされているデータベース、および適切なアダプターが必要です。クライアントのインスタンス化とクエリの実行には、TypeScript または JavaScript 環境が必要です。
Prisma Client API Reference
Complete API reference for Prisma Client. This skill provides guidance on model queries, filtering, relations, and client methods for current Prisma projects.
When to Apply
Reference this skill when:
- Writing database queries with Prisma Client
- Performing CRUD operations (create, read, update, delete)
- Filtering and sorting data
- Working with relations
- Using transactions
- Configuring client options
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Client Construction | HIGH | constructor |
| 2 | Model Queries | CRITICAL | model-queries |
| 3 | Query Shape | HIGH | query-options |
| 4 | Filtering | HIGH | filters |
| 5 | Relations | HIGH | relations |
| 6 | Transactions | CRITICAL | transactions |
| 7 | Raw SQL | CRITICAL | raw-queries |
| 8 | Client Methods | MEDIUM | client-methods |
Quick Reference
constructor-PrismaClientsetup, adapter wiring, logging, and SQL commenter pluginsmodel-queries- CRUD operations and bulk operationsquery-options-select,include,omit, sort, paginationfilters- scalar and logical filter operatorsrelations- relation reads and nested writestransactions- array and interactive transaction patternsraw-queries-$queryRawand$executeRawsafetyclient-methods- lifecycle methods, extensions, andsatisfiespatterns forprisma-client
Client Instantiation
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 })
Model Query Methods
| Method | Description |
|---|---|
findUnique() | Find one record by unique field |
findUniqueOrThrow() | Find one or throw error |
findFirst() | Find first matching record |
findFirstOrThrow() | Find first or throw error |
findMany() | Find multiple records |
create() | Create a new record |
createMany() | Create multiple records |
createManyAndReturn() | Create multiple and return them |
update() | Update one record |
updateMany() | Update multiple records |
updateManyAndReturn() | Update multiple and return them |
upsert() | Update or create record |
delete() | Delete one record |
deleteMany() | Delete multiple records |
count() | Count matching records |
aggregate() | Aggregate values (sum, avg, etc.) |
groupBy() | Group and aggregate |
Query Options
| Option | Description |
|---|---|
where | Filter conditions |
select | Fields to include |
include | Relations to load |
omit | Fields to exclude |
orderBy | Sort order |
take | Limit results |
skip | Skip results (pagination) |
cursor | Cursor-based pagination |
distinct | Unique values only |
Client Methods
| Method | Description |
|---|---|
$connect() | Explicitly connect to database |
$disconnect() | Disconnect from database |
$transaction() | Execute transaction |
$queryRaw() | Execute raw SQL query |
$executeRaw() | Execute raw SQL command |
$on() | Subscribe to events |
$extends() | Add extensions |
Quick Examples
Find records
// Find by unique fieldconst user = await prisma.user.findUnique({ where: { email: '[email protected]' }})// Find with filterconst users = await prisma.user.findMany({ where: { role: 'ADMIN' }, orderBy: { createdAt: 'desc' }, take: 10})
Create records
const user = await prisma.user.create({ data: { email: '[email protected]', name: 'Alice', posts: { create: { title: 'Hello World' } } }, include: { posts: true }})
Update records
const user = await prisma.user.update({ where: { id: 1 }, data: { name: 'Alice Smith' }})
Delete records
await prisma.user.delete({ where: { id: 1 }})
Transactions
const [user, post] = await prisma.$transaction([ prisma.user.create({ data: { email: '[email protected]' } }), prisma.post.create({ data: { title: 'Hello', authorId: 1 } })])
Rule Files
Detailed API documentation:
references/constructor.md - PrismaClient constructor optionsreferences/model-queries.md - CRUD operationsreferences/query-options.md - select, include, omit, where, orderByreferences/filters.md - Filter conditions and operatorsreferences/relations.md - Relation queries and nested operationsreferences/transactions.md - Transaction APIreferences/raw-queries.md - $queryRaw, $executeRawreferences/client-methods.md - $connect, $disconnect, $on, $extendsFilter Operators
| Operator | Description |
|---|---|
equals | Exact match |
not | Not equal |
in | In array |
notIn | Not in array |
lt, lte | Less than |
gt, gte | Greater than |
contains | String contains |
startsWith | String starts with |
endsWith | String ends with |
mode | Case sensitivity |
Relation Filters
| Operator | Description |
|---|---|
some | At least one related record matches |
every | All related records match |
none | No related records match |
is | Related record matches (1-to-1) |
isNot | Related record doesn't match |
Resources
- Prisma Client API Reference
- CRUD Operations
- Filtering and Sorting
How to Use
Pick the category from the table above, then open the matching reference file for implementation details and examples.
すべてのファイル
9件のファイルprisma-client-apiをインストール
スキルファイルをダウンロードし、.claude/skills/ ディレクトリに解凍してください。
ZIPをダウンロードリポジトリをクローンし、スキルファイルをプロジェクトにコピーしてください。
git clone https://github.com/prisma/skills/blob/main/prisma-client-api/SKILL.md # Copy SKILL.md to your .claude/skills/ directory
コピー





家
