Skip to main content
Prisma Documentation Docs

Search documentation

Type to search this documentation.

On this pageOverview

Database features matrix (Prisma ORM v6) (/docs/orm/v6/reference/database-features)

For the complete Prisma documentation index, see llms.txt. A markdown version of any docs page is available by appending .md to its URL.

Learn which database features are supported in Prisma ORM and how they map to the different Prisma ORM tools.

Location: ORM > v6 > Reference > Database features matrix

This page gives an overview of the features which are provided by the databases that Prisma ORM supports. Additionally, it explains how each of these features can be used in Prisma ORM with pointers to further documentation.

This section describes which database features exist on the relational databases that are currently supported by Prisma ORM. The Prisma schema column indicates how a certain feature can be represented in the Prisma schema and links to its documentation. Note that database features can be used in Prisma Client even though they might not yet be representable in the Prisma schema.

[!NOTE] These features are only for relational databases. Supported features for NoSQL databases, like MongoDB, can be found below.

Constraint Supported Prisma schema Prisma Client Prisma Migrate
PRIMARY KEY ✔️ @id and @@id ✔️ ✔️
FOREIGN KEY ✔️ Relation fields ✔️ ✔️
UNIQUE ✔️* @unique and @@unique ✔️ ✔️
CHECK ✔️† Not yet ✔️ Not yet
NOT NULL ✔️ ? ✔️ ✔️
DEFAULT ✔️ @default ✔️ ✔️
EXCLUDE ✔️‡ Not yet ✔️ Not yet

* Caveats apply when using the UNIQUE constraint with Microsoft SQL Server † Only supported in MySQL in version 8 and higher. ‡ Only supported in PostgreSQL.

Referential Actions (Delete and Update behaviors for foreign key references)

Section titled “Referential Actions (Delete and Update behaviors for foreign key references)”
Deletion behavior Supported Prisma schema Prisma Client Prisma Migrate
CASCADE ✔️ ✔️ ✔️ ✔️
RESTRICT ✔️* ✔️ ✔️ ✔️
NO ACTION ✔️ ✔️ ✔️ ✔️
SET DEFAULT ✔️ ✔️ ✔️ ✔️
SET NULL ✔️ ✔️ ✔️ ✔️

* RESTRICT is not supported in Microsoft SQL Server.

Index Supported Prisma schema Prisma Client Prisma Migrate
UNIQUE ✔️ @unique and @@unique ✔️ ✔️
USING PostgreSQL only type ✔️ ✔️
WHERE ✔️ Not yet ✔️ Not yet
(expression) ✔️ Not yet ✔️ Not yet
INCLUDE PostgreSQL and Microsoft SQL Server only Not yet ✔️ Not yet

Algorithm specified via USING:

Index type (Algorithm) Supported Prisma schema Prisma Client Prisma Migrate
B-tree ✔️ ✔️† ✔️ Not yet
Hash ✔️ ✔️† ✔️ Not yet
GiST ✔️* ✔️† ✔️* Not yet
GIN ✔️* ✔️† ✔️* Not yet
BRIN ✔️* ✔️† ✔️* Not yet
SP-GiST ✔️* ✔️† ✔️* Not yet
  • * Not supported for MySQL and SQLite
  • † Available with the PostgreSQL connector only in Prisma ORM versions 4.0.0 and later.
Feature Supported Prisma schema Prisma Client Prisma Migrate
Autoincrementing IDs ✔️ autoincrement() ✔️ ✔️
Arrays PostgreSQL only [] ✔️ ✔️
Enums ✔️*† enum ✔️ ✔️
Native database types ✔️ ✔️ ✔️ Not yet
SQL Views ✔️ Not yet Not yet Not yet
JSON support ✔️† ✔️ ✔️ ✔️
Fuzzy/Phrase full text search ✔️‡ Not yet Not yet Not yet
Table inheritance PostgreSQL and Microsoft SQL Server only Not yet ✔️ Not yet
Authorization and user management ✔️‡ Not yet Not yet Not yet
  • * Not supported by Microsoft SQL Server
  • † JSON and Enum types are supported in SQLite as of Prisma ORM 6.2.0.
  • ‡ Not supported by SQLite

This section describes which database features exist on the NoSQL databases that are currently supported by Prisma ORM.

The following table lists common MongoDB features and describes the level of support offered by Prisma ORM:

Feature Supported by Prisma ORM Notes
Embedded documents ✔️
Transactions ✔️
Indexes ✔️ with caveats Indexes can only be introspected if the field they refer to includes at least some data.
Autoincrementing IDs No
Compound IDs No MongoDB does not support composite IDs (@@id)
Generated ObjectId ✔️ See: Defining IDs for MongoDB
Arrays ✔️
Enums ✔️ Implemented at Prisma ORM level
Native database types ✔️ See: Field mapping reference
JSON support ✔️ Advanced Json field filtering is not yet supported.
DBrefs No
Change streams No
Direct access to the aggregation pipeline No
  • Connection URLs: Learn about the format and syntax Prisma ORM uses for defining database connection URLs for PostgreSQL, MySQL and SQLite.
  • Environment variables reference: This page gives an overview of all environment variables available for use.
  • Error message reference: Prisma Client, Migrate, Introspection error message reference
  • Preview features: Previews are typically available behind a feature flag or require some form of opt-in.
  • Prisma CLI reference: This page gives an overview of all available Prisma CLI commands, explains their options and shows numerous usage examples.
Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu