Prisma
You can use Transactional with Prisma client to run your queries in a transaction, this requires interactive transactions to be supported by the client.
Install
npm install @transactional/core @transactional/prisma
Usage
import { prismaTransactional } from "@transactional/prisma";
const prisma = new PrismaClient().$extends(prismaTransactional);
Using @Transactional
Decorator
@Transactional
Decoratorimport { Transactional } from "@transactional/core"
class Service {
@Transactional()
findCats() {
// now all your prisma queries are run inside the same transaction.
await prisma.cat.findMany({});
await prisma.cat.findFirst({});
...
}
}
Using transactional
Method
transactional
Methodimport { transactional } from "@transactional/core"
const findCats = transactional(() => {
// now all your prisma queries are run inside the same transaction.
return prisma.cat.findMany({});
})
await findCats();
Last updated