Prisma $transaction
NestJS 🔴 SeniorDéfinition
Méthode de Prisma Client pour exécuter plusieurs opérations en transaction atomique. Supporte le mode batch (tableau) et le mode interactif (callback).
Analogie
Comme un contrat notarié : 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'atomicité lors de la création d'entités liées comme user + compte.