prisma-client-api

Référence de l'API Prisma Client couvrant les requêtes sur les modèles, les filtres, les opérateurs et les méthodes du client. À utiliser pour écrire des requêtes de base de données, effectuer des opérations CRUD, filtrer des données ou configurer Prisma Client. Se déclenche sur « prisma query », « findMany », « create », « update », « delete », « $transaction ».

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

Référence API Prisma Client

Référence API complète pour Prisma Client. Cette compétence fournit des conseils sur les requêtes de modèles, le filtrage, les relations et les méthodes client pour les projets Prisma actuels.

Quand l'utiliser

Consultez cette compétence quand :

  • Vous écrivez des requêtes de base de données avec Prisma Client
  • Vous effectuez des opérations CRUD (créer, lire, mettre à jour, supprimer)
  • Vous filtrez et triez les données
  • Vous travaillez avec des relations
  • Vous utilisez des transactions
  • Vous configurez les options client

Catégories de règles par priorité

Priorité Catégorie Impact Préfixe
1 Construction du client HIGH constructor
2 Requêtes de modèles CRITICAL model-queries
3 Forme de requête HIGH query-options
4 Filtrage HIGH filters
5 Relations HIGH relations
6 Transactions CRITICAL transactions
7 SQL brut CRITICAL raw-queries
8 Méthodes client MEDIUM client-methods

Référence rapide

  • constructor - configuration de PrismaClient, câblage d'adaptateurs, journalisation et plugins SQL commenter
  • model-queries - opérations CRUD et opérations en masse
  • query-options - select, include, omit, tri, pagination
  • filters - opérateurs de filtrage scalaires et logiques
  • relations - lectures de relations et écritures imbriquées
  • transactions - modèles de transactions en tableau et interactives
  • raw-queries - sécurité de $queryRaw et $executeRaw
  • client-methods - méthodes de cycle de vie, extensions et modèles satisfies pour prisma-client

Instanciation du client

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 })

Méthodes de requête de modèles

Méthode Description
findUnique() Trouver un enregistrement par champ unique
findUniqueOrThrow() Trouver un ou lever une erreur
findFirst() Trouver le premier enregistrement correspondant
findFirstOrThrow() Trouver le premier ou lever une erreur
findMany() Trouver plusieurs enregistrements
create() Créer un nouvel enregistrement
createMany() Créer plusieurs enregistrements
createManyAndReturn() Créer plusieurs et les retourner
update() Mettre à jour un enregistrement
updateMany() Mettre à jour plusieurs enregistrements
updateManyAndReturn() Mettre à jour plusieurs et les retourner
upsert() Mettre à jour ou créer un enregistrement
delete() Supprimer un enregistrement
deleteMany() Supprimer plusieurs enregistrements
count() Compter les enregistrements correspondants
aggregate() Agréger des valeurs (somme, moyenne, etc.)
groupBy() Grouper et agréger

Options de requête

Option Description
where Conditions de filtrage
select Champs à inclure
include Relations à charger
omit Champs à exclure
orderBy Ordre de tri
take Limiter les résultats
skip Ignorer les résultats (pagination)
cursor Pagination basée sur le curseur
distinct Valeurs uniques uniquement

Méthodes client

Méthode Description
$connect() Se connecter explicitement à la base de données
$disconnect() Se déconnecter de la base de données
$transaction() Exécuter une transaction
$queryRaw() Exécuter une requête SQL brute
$executeRaw() Exécuter une commande SQL brute
$on() S'abonner à des événements
$extends() Ajouter des extensions

Exemples rapides

Trouver des enregistrements

// Trouver par champ unique
const user = await prisma.user.findUnique({
  where: { email: 'alice@prisma.io' }
})

// Trouver avec filtre
const users = await prisma.user.findMany({
  where: { role: 'ADMIN' },
  orderBy: { createdAt: 'desc' },
  take: 10
})

Créer des enregistrements

const user = await prisma.user.create({
  data: {
    email: 'alice@prisma.io',
    name: 'Alice',
    posts: {
      create: { title: 'Hello World' }
    }
  },
  include: { posts: true }
})

Mettre à jour des enregistrements

const user = await prisma.user.update({
  where: { id: 1 },
  data: { name: 'Alice Smith' }
})

Supprimer des enregistrements

await prisma.user.delete({
  where: { id: 1 }
})

Transactions

const [user, post] = await prisma.$transaction([
  prisma.user.create({ data: { email: 'alice@prisma.io' } }),
  prisma.post.create({ data: { title: 'Hello', authorId: 1 } })
])

Fichiers de règles

Documentation API détaillée :

references/constructor.md        - Options du constructeur PrismaClient
references/model-queries.md      - Opérations CRUD
references/query-options.md      - select, include, omit, where, orderBy
references/filters.md            - Conditions de filtrage et opérateurs
references/relations.md          - Requêtes de relations et opérations imbriquées
references/transactions.md       - API des transactions
references/raw-queries.md        - $queryRaw, $executeRaw
references/client-methods.md     - $connect, $disconnect, $on, $extends

Opérateurs de filtrage

Opérateur Description
equals Correspondance exacte
not Non égal
in Dans un tableau
notIn Pas dans un tableau
lt, lte Inférieur à
gt, gte Supérieur à
contains Contient (chaîne)
startsWith Commence par
endsWith Se termine par
mode Sensibilité à la casse

Filtres de relations

Opérateur Description
some Au moins un enregistrement lié correspond
every Tous les enregistrements liés correspondent
none Aucun enregistrement lié ne correspond
is L'enregistrement lié correspond (1 à 1)
isNot L'enregistrement lié ne correspond pas

Ressources

Comment l'utiliser

Choisissez la catégorie dans le tableau ci-dessus, puis ouvrez le fichier de référence correspondant pour les détails d'implémentation et les exemples.

Skills similaires