Quelle est la meilleure façon de mettre à jour de nombreux enregistrements avec des données différentes ? C'est ce que je fais
const updateBody = JSON.parse(req.body); try { for (let object of updateBody) { await prisma.comissions.upsert({ where: { producer: object.producer, }, update: { rate: object.rate, }, create: object, }); }
Je pourrais le mettre à jour mais cela prendrait beaucoup de temps pour le faire. Je sais transaction
, mais je ne sais pas comment l'utiliser.
Il existe deux façons d'utiliser les requêtes de transaction dans Prisma.
Opérations séquentielles : Transmettez un tableau de requêtes client Prisma à exécuter séquentiellement au sein d'une transaction.
Transactions interactives : Transmettez une fonction pouvant contenir du code utilisateur, y compris des requêtes client Prisma, du code non Prisma et d'autres flux de contrôle à exécuter dans la transaction.
Dans notre cas, nous devrions utiliser une transaction interactive car elle contient du code utilisateur, pour utiliser la fonction de rappel dans la transaction Prisma, nous devons ajouter une fonction de prévisualisation au fichier Prisma.schema