Prisma $transaction

NestJS 🔴 Senior

Definition

Methode de Prisma Client pour executer plusieurs operations en transaction atomique. Supporte le mode batch (tableau) et le mode interactif (callback).

Analogie

Comme un contrat notarie : toutes les clauses s'appliquent ensemble ou le contrat est annule.

Exemple de code

await this.prisma.$transaction(async (tx) => {
  const user = await tx.user.create({ data: userData });
  await tx.account.create({
    data: { userId: user.id, balance: 0 },
  });
});

Cas d'usage

Garantir l'atomicite lors de la creation d'entites liees comme user + compte.

#database