prisma-client-api
prisma/skills
Referencia de la API de Prisma Client que abarca consultas de modelos, filtros, operadores y métodos de cliente. Úsala al escribir consultas a la base de datos, al realizar operaciones CRUD, al filtrar datos o al configurar Prisma Client. Desencadenadores en «prisma query», «findMany», «create», «update», «delete» y «$transaction».
...Expandir todoAcerca de «prisma-client-api»
La habilidad «prisma-client-api» ofrece una referencia completa para interactuar con bases de datos mediante Prisma Client. Agiliza el proceso de creación de consultas, realización de operaciones CRUD, aplicación de filtros, gestión de relaciones y gestión de transacciones dentro de proyectos de Prisma. Al ofrecer orientación detallada sobre la instanciación del cliente, las consultas de modelos, las opciones de consulta y la ejecución de SQL sin procesar, esta skill ayuda a los desarrolladores a reducir los errores y mejorar la eficiencia al trabajar con bases de datos relacionales. Resulta especialmente útil para garantizar que las consultas estén estructuradas correctamente y que las operaciones avanzadas, como las escrituras anidadas y las transacciones, se gestionen de forma segura y eficaz.
Esta habilidad abarca una amplia gama de capacidades, incluidos métodos de consulta de modelos como `findUnique`, `findMany`, `create`, `update`, `delete` y `upsert`, así como funciones de agregación como `count`, `aggregate` y `groupBy`. También ofrece un amplio soporte para opciones de consulta, lo que permite a los desarrolladores filtrar, seleccionar, incluir, omitir, ordenar, paginar y aplicar valores distintos. También se incluyen los métodos de Prisma Client para la gestión del ciclo de vida, las suscripciones a eventos, la ejecución de SQL sin procesar y las extensiones de cliente. Esta habilidad garantiza la ejecución segura de consultas SQL sin procesar y ofrece orientación sobre el uso de transacciones, tanto basadas en matrices como interactivas, para mantener la integridad de los datos.
Entre los usuarios a los que va dirigida se encuentran los desarrolladores de backend, los administradores de bases de datos y los ingenieros full-stack que trabajan con JavaScript o TypeScript y que necesitan interactuar de forma eficiente con bases de datos a través de Prisma. Los casos de uso típicos incluyen la creación de aplicaciones web, API y microservicios en los que la recuperación, manipulación y agregación precisas de datos son fundamentales. También resulta adecuado para equipos que necesitan una referencia estándar sobre patrones de consulta coherentes y mejores prácticas a la hora de implementar lógica relacional compleja o realizar operaciones por lotes en entornos de producción.
Preguntas frecuentes
¿Cómo puedo instanciar un Prisma Client con un adaptador personalizado?
Puedes instanciar Prisma Client importando PrismaClient y tu adaptador, y pasando luego la configuración del adaptador al constructor del cliente, tal y como se muestra en el ejemplo de TypeScript proporcionado.
¿Qué operaciones de base de datos admite Prisma Client?
Prisma Client admite todas las operaciones CRUD, incluidas findUnique, findMany, create, createMany, update, updateMany, upsert, delete y deleteMany. También admite métodos de agregación y agrupación.
¿Prisma Client puede gestionar transacciones?
Sí, Prisma Client admite tanto transacciones basadas en matrices como interactivas mediante el método $transaction, lo que permite ejecutar varias consultas de forma segura dentro de una única transacción.
¿Se admite el SQL sin procesar y es seguro utilizarlo?
Prisma Client proporciona los métodos $queryRaw y $executeRaw para ejecutar consultas SQL sin procesar. Estos deben utilizarse con precaución para evitar inyecciones SQL, y la documentación ofrece orientación para un uso seguro.
¿Cuáles son los requisitos para utilizar esta habilidad de la API de Prisma Client?
Necesitas un proyecto de Prisma con un cliente generado, una base de datos compatible y un adaptador adecuado. Se requieren entornos de TypeScript o JavaScript para la instanciación del cliente y la ejecución de consultas.
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.
Todos los archivos
9 archivosInstalar prisma-client-api
Descarga y descomprime los archivos de habilidades en tu directorio .claude/skills/.
Descargar ZIPClona el repositorio y copia los archivos de la habilidad a tu proyecto.
git clone https://github.com/prisma/skills/blob/main/prisma-client-api/SKILL.md # Copy SKILL.md to your .claude/skills/ directory
Copiar





Hogar
