This page describes features that are currently not supported by Prisma and are not planned to be supported.

Long-running transactions

Databases often offer "long-running transactions" as a feature. A transaction generally refers to a sequence of read/write operations that are guaranteed to either succeed or fail as a whole.

Prisma offers a limited set of transactions in the form of nested writes. There currently is no plan to provide an API to allow a transaction API for long-running transactions.

✍ Read more about How Prisma supports transactions on our blog.

Records must be uniquely identifiable

Prisma currently only supports models that have at least one unique field or combination of fields. In practice, this means that every Prisma model must have either at least one of the following attributes:

  • @id or @@id for a single- or multi-field primary key constraint (max one per model)
  • @unique or @@unique for a single- or multi-field unique constraint

Manual database connection handling

When using Prisma, the database connections are handled on an engine-level. This means they're not exposed to the developer and it's not possible to manually access them.

Prisma Migrate limitations

See: Prisma Migrate limitations and known issues

Edit this page on GitHub