Prisma $transaction
NestJS 🔴 SeniorDefinition
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.