Oleksii Rumiantsev
09/13/2022, 10:44 AMthis.prisma.message.updateMany({
where: {
chat_id: chatId,
sender: {
not: sender,
},
created_at: {
lte: lastReadMessageCreatedAt,
},
},
data: {
read_at: new Date(),
},
});
Prisma firstly selects all the message ids for messages which match the query, and then updates messages with IN (...message ids)
approach
UPDATE `message` SET `read_at` = '2022-09-13 07:47:00.288000' WHERE `message`.`id` IN ('ecdf8353-ce11-44ff-891c-8491bf1f736b','ecdfac6a-325a-4b6d-9425-e16d4064c467','ecdfb9a1-ba26-4e81-8e56-a5daf0dfab5b','ece0b1d7-388d-4cbd-8b5a-06628d39a6b9','ece220d8-f8b9-4fd6-ac05-2844d60685aa','ece32bf9-f867-46f9-b901-7692e41ba67f','ece84045-0fb1-478b-8b82-82db4273ae49','ece898dd-a299-4df8-88c3-61e20fd7087a','ecead321-3ec3-4901-861c-d39b2decee6a','ecebee42-255c-4210-9934-db2b2ac857e6','ecec2422-b48b-4825-a8b8-1ca30de678cc','ecee5f77-63ba-45d9-829d-0e293d1780fe', ... and so on)
Is it possible to make such an update using one query without using queryRaw?
Also, would be nice, if you share the reason for this behavior)
ThanksAustin
09/14/2022, 7:01 PM$queryRaw
Vladi Stevanovic
Oleksii Rumiantsev
09/22/2022, 1:10 PM$queryRaw
, as was proposed
Thank you)Vladi Stevanovic