Apakah cara terbaik untuk mengemas kini banyak rekod dengan data yang berbeza? Inilah yang saya lakukan
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, }); }
Saya boleh mengemas kininya tetapi ia akan mengambil masa yang lama untuk melakukannya. Saya tahu transaction
, tetapi saya tidak tahu cara menggunakannya.
Terdapat dua cara untuk menggunakan pertanyaan transaksi dalam Prisma.
Operasi berurutan: Luluskan pelbagai pertanyaan pelanggan Prisma untuk dilaksanakan secara berurutan dalam transaksi.
Transaksi interaktif: Luluskan fungsi yang boleh mengandungi kod pengguna, termasuk pertanyaan pelanggan Prisma, kod bukan Prisma dan aliran kawalan lain untuk dilaksanakan dalam transaksi.
Dalam kes kami, kami harus menggunakan transaksi interaktif kerana ia mengandungi kod pengguna, untuk menggunakan fungsi panggil balik dalam transaksi Prisma kami perlu menambah fungsi pratonton pada fail Prisma.schema