Prisma ORM has an implementation of the update or create upsert()
method and a group of
bulk requests,
but there is no such thing as .upsertMany()
, i.e. bulk "create or update existing records".
What is the best way to implement such a method using Prisma ORM?
CodePudding user response:
Prisma doesn't natively support upsertMany
.
There is a Feature Request to provide the upsertMany
method.
As of now the best approach would be to loop over the data and invoke upsert
in the loop along with using $transaction
.
Example:
const collection = await prisma.$transaction(
userData.map(cur =>
prisma.cur.upsert({
where: { id: cur.id },
update: {},
create: { id: cur.id },
})
)
)
Here's a reference to $transaction API which should be helpful.