

We don't categorically rule out ever bringing LRTs to the Prisma Client API though – but because it's a technically more challenging and time-consuming feature, we really want to make sure it'd be worth it in the end. While not technically impossible, it would be certainly quite a bit of work to implement long-running transactions (LRTs).

#HOW PRISMA APP MAKES MONEY FULL#
Why wouldn't you give the user full control of the api? Is it a limitation of the Rust web-server/graphql architecture?

Would you be open to share more about this in this GitHub issue, I'll make sure to get feedback from our Product and Engineering teams to see how we can potentially enable this! Another reason why we don't support them at the moment is that long-running transactions typically don't scale well in serverless environments and we want to help developers build their applications in a way that's compatible with modern deployment models.Įither way, I'd love to learn more about your use cases for long-running transactions! If our current APIs don't cover them, we'd love to learn how we can maybe enable them with a more dedicated and safer API. TLDR: Long-running transactions are a powerful tool, but they're also low-level and many of their use cases are implement more safely with dedicated APIs – which is what Prisma is trying to achieve. We are also working on bringing optimistic concurrency control (OCC) to the Prisma Client API to enable even more use cases. That's why we offer bulk operations, nested writes, atomic operators, and transaction batches to make sure developers don't accidentally shoot themselves in the foot. First, transactions are very often misused and their use cases are better realized with dedicated and safer APIs. What we don't support at the moment are "long-running transactions".
#HOW PRISMA APP MAKES MONEY HOW TO#
We also have an in-depth transaction guide in our docs that explains various use cases for transactions and how to implement them with Prisma. You can read in detail about this here: How Prisma Supports Database Transactions. Hey there, Nikolas from the Prisma team here! Good to hear that the general idea of Prisma resonates with you and that you appreciate the type safety it can provide :) Regarding the limitations, are long-running transactions the only complete showstopper in your mind or are there others that are blockers for you before you'd consider Prisma as an ORM?Īlso note that Prisma does support transactions, but we're indeed taking a more opinionated approach to how we implement them.
