prisma-client-api
prisma/skills
Prisma-Client-API-Referenz zu Modellabfragen, Filtern, Operatoren und Client-Methoden. Diese Referenz dient als Grundlage beim Erstellen von Datenbankabfragen, bei der Verwendung von CRUD-Operationen, beim Filtern von Daten oder bei der Konfiguration des Prisma-Clients. Trigger für „prisma query“, „findMany“, „create“, „update“, „delete“ und „$transaction“.
...Alle erweiternÜber „prisma-client-api“
Der Skill „prisma-client-api“ bietet eine umfassende Referenz für die Interaktion mit Datenbanken mithilfe von Prisma Client. Er optimiert den Prozess der Erstellung von Abfragen, der Durchführung von CRUD-Operationen, der Anwendung von Filtern, der Verwaltung von Beziehungen und der Abwicklung von Transaktionen in Prisma-Projekten. Durch detaillierte Anleitungen zur Instanziierung des Clients, zu Modellabfragen, Abfrageoptionen und der Ausführung von Raw-SQL hilft dieses Skill Entwicklern, Fehler zu reduzieren und die Effizienz bei der Arbeit mit relationalen Datenbanken zu steigern. Es ist besonders nützlich, um sicherzustellen, dass Abfragen korrekt strukturiert sind und dass fortgeschrittene Operationen wie verschachtelte Schreibvorgänge und Transaktionen sicher und effektiv abgewickelt werden.
Diese Kompetenz deckt ein breites Spektrum an Funktionen ab, darunter Modellabfragemethoden wie `findUnique`, `findMany`, `create`, `update`, `delete` und `upsert` sowie Aggregationsfunktionen wie `count`, `aggregate` und `groupBy`. Sie bietet zudem umfassende Unterstützung für Abfrageoptionen, die es Entwicklern ermöglichen, zu filtern, auszuwählen, einzuschließen, wegzulassen, zu sortieren, zu paginieren und eindeutige Werte durchzusetzen. Ebenfalls enthalten sind Prisma-Client-Methoden für das Lebenszyklusmanagement, das Abonnieren von Ereignissen, die Ausführung von Raw-SQL sowie Client-Erweiterungen. Die Kompetenz gewährleistet die sichere Ausführung von Raw-SQL-Abfragen und bietet Anleitungen zur Verwendung von Transaktionen – sowohl arraybasierten als auch interaktiven –, um die Datenintegrität zu gewährleisten.
Zu den Zielnutzern zählen Backend-Entwickler, Datenbankadministratoren und Full-Stack-Ingenieure, die mit JavaScript oder TypeScript arbeiten und über Prisma effizient mit Datenbanken interagieren müssen. Typische Anwendungsfälle sind die Entwicklung von Webanwendungen, APIs und Microservices, bei denen die präzise Abfrage, Bearbeitung und Aggregation von Daten entscheidend ist. Die Qualifikation eignet sich zudem für Teams, die eine Standardreferenz für konsistente Abfragemuster und Best Practices benötigen, wenn sie komplexe relationale Logik implementieren oder Batch-Operationen in Produktionsumgebungen durchführen.
FAQ
Wie instanziere ich einen Prisma-Client mit einem benutzerdefinierten Adapter?
Sie können den Prisma-Client instanziieren, indem Sie `PrismaClient` und Ihren Adapter importieren und anschließend die Adapterkonfiguration an den Client-Konstruktor übergeben, wie im bereitgestellten TypeScript-Beispiel gezeigt.
Welche Datenbankoperationen werden von Prisma Client unterstützt?
Prisma Client unterstützt alle CRUD-Operationen, darunter `findUnique`, `findMany`, `create`, `createMany`, `update`, `updateMany`, `upsert`, `delete` und `deleteMany`. Außerdem werden Aggregations- und Gruppierungsmethoden unterstützt.
Kann Prisma Client Transaktionen verarbeiten?
Ja, Prisma Client unterstützt sowohl arraybasierte als auch interaktive Transaktionen mithilfe der $transaction-Methode, wodurch mehrere Abfragen sicher innerhalb einer einzigen Transaktion ausgeführt werden können.
Wird Raw-SQL unterstützt und ist dessen Verwendung sicher?
Prisma Client stellt die Methoden $queryRaw und $executeRaw zur Ausführung von Raw-SQL-Abfragen bereit. Diese sollten mit Bedacht eingesetzt werden, um SQL-Injection zu vermeiden; die Dokumentation enthält Leitlinien für die sichere Verwendung.
Was sind die Voraussetzungen für die Nutzung dieser Prisma-Client-API-Funktion?
Sie benötigen ein Prisma-Projekt mit einem generierten Client, eine unterstützte Datenbank und einen geeigneten Adapter. Für die Instanziierung des Clients und die Ausführung von Abfragen sind TypeScript- oder JavaScript-Umgebungen erforderlich.
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.
Alle Dateien
9 Dateienprisma-client-api installieren
Laden Sie die Skill-Dateien herunter und entpacken Sie sie in Ihr Verzeichnis „.claude/skills/“.
ZIP herunterladenKlonen Sie das Repository und kopieren Sie die Skill-Dateien in Ihr Projekt.
git clone https://github.com/prisma/skills/blob/main/prisma-client-api/SKILL.md # Copy SKILL.md to your .claude/skills/ directory
Kopieren





Heim
