Как реализовано .upsertMany() в Prisma ORM?
В Prisma ORM есть реализация команды обновить или создать запись upsert(), а также группа
bulk-запросов,
но среди них нет такого как .upsertMany(), то есть массовое "создание или обновление существующих записей".
Как лучше реализовать такой метод, используя Prisma ORM?
Ответы (1 шт):
Автор решения: Артём Ионаш
→ Ссылка
На данный момент Prisma не имеет стандартной реализации .upsertMany(),
(хотя создан запрос на реализацию метода .upsertMany()).
На данный момент лучшим подходом будет вызов массива запросов .upsert() обёрнутых в $transaction().
Пример:
const collection = await prisma.$transaction(
userData.map(cur =>
prisma.cur.upsert({
where: { id: cur.id },
update: {},
create: { id: cur.id },
})
)
)
Здесь есть информация о API $transaction() , которая также может быть полезной.