API
Transactions
How Prisma Next IDB groups writes
Most application code does not need to open transactions manually. Single writes, bulk writes, and nested relation writes create the IndexedDB transactions they need.
await db.orm.todo.create({
id: crypto.randomUUID(),
title: "Write docs",
done: false,
userId,
});Automatic transaction cases
These methods run atomically:
create()createAll()update()updateAll()upsert()delete()deleteAll()- nested relation creates, connects, and disconnects
Advanced scope
db.withTransaction() exposes a low-level transaction scope for advanced integrations:
await db.withTransaction(["user", "todo"], async (scope) => {
// scope.execute(plan) accepts low-level IDB atomic plans.
});The high-level ORM methods do not currently accept this scope as an option. Prefer the normal ORM methods unless you are integrating with lower-level Prisma Next IDB plan execution.