跳转到主要内容

数据库功能矩阵

本页概述了 Prisma ORM 支持的数据库提供的功能。此外,它还解释了如何在 Prisma ORM 中使用这些功能,并提供了指向进一步文档的链接。

关系数据库功能

本节描述了 Prisma ORM 当前支持的关系数据库中存在哪些数据库功能。Prisma schema 列指示如何在 Prisma schema 中表示特定功能,并链接到其文档。请注意,即使数据库功能可能尚未在 Prisma schema 中表示,也可以在 Prisma Client 中使用。

注意

这些功能适用于关系数据库。NoSQL 数据库(如 MongoDB)的支持功能可以在下面找到

约束

约束支持Prisma schemaPrisma ClientPrisma Migrate
主键✔️@id@@id✔️✔️
外键✔️关系字段✔️✔️
唯一✔️*@unique@@unique✔️✔️
CHECK✔️†暂未支持✔️暂未支持
非空✔️?✔️✔️
默认值✔️@default✔️✔️

* UNIQUE 约束与 Microsoft SQL Server 一起使用时,需要注意一些限制 † 仅在 MySQL 8 及更高版本中受支持。

引用操作(外键引用的删除和更新行为)

删除行为支持Prisma schemaPrisma ClientPrisma Migrate
CASCADE✔️✔️✔️✔️
RESTRICT✔️*✔️✔️✔️
NO ACTION✔️✔️✔️✔️
SET DEFAULT✔️✔️✔️✔️
SET NULL✔️✔️✔️✔️

* Microsoft SQL Server 不支持 RESTRICT

索引

索引支持Prisma schemaPrisma ClientPrisma Migrate
唯一✔️@unique@@unique✔️✔️
USING仅限 PostgreSQL类型✔️✔️
WHERE✔️暂未支持✔️暂未支持
(表达式)✔️暂未支持✔️暂未支持
INCLUDE仅限 PostgreSQL 和 Microsoft SQL Server暂未支持✔️暂未支持

通过 USING 指定的算法

索引类型(算法)支持Prisma schemaPrisma ClientPrisma Migrate
B 树✔️✔️†✔️暂未支持
哈希✔️✔️†✔️暂未支持
GiST✔️*✔️†✔️*暂未支持
GIN✔️*✔️†✔️*暂未支持
BRIN✔️*✔️†✔️*暂未支持
SP-GiST✔️*✔️†✔️*暂未支持
  • * MySQL 和 SQLite 不支持
  • † 仅在 Prisma ORM 4.0.0 及更高版本中通过 PostgreSQL 连接器可用。

其他

功能支持Prisma schemaPrisma ClientPrisma Migrate
自增 ID✔️autoincrement()✔️✔️
数组仅限 PostgreSQL[]✔️✔️
枚举✔️*†enum✔️✔️
原生数据库类型✔️✔️✔️暂未支持
SQL 视图✔️暂未支持暂未支持暂未支持
JSON 支持✔️†✔️✔️✔️
模糊/短语全文搜索✔️‡暂未支持暂未支持暂未支持
表继承仅限 PostgreSQL 和 Microsoft SQL Server暂未支持✔️暂未支持
授权和用户管理✔️‡暂未支持暂未支持暂未支持
  • * Microsoft SQL Server 不支持
  • † 自 Prisma ORM 6.2.0 起,SQLite 支持 JSON 和枚举类型。
  • ‡ SQLite 不支持

NoSQL 数据库功能

本节描述了 Prisma ORM 当前支持的 NoSQL 数据库中存在哪些数据库功能。

MongoDB

下表列出了常见的 MongoDB 功能,并描述了 Prisma ORM 提供的支持级别

功能Prisma ORM 支持注释
嵌入式文档✔️
事务✔️
索引✔️,但有注意事项只有当索引引用的字段至少包含一些数据时,才能进行内省。
自增 ID
复合 IDMongoDB 不支持复合 ID (@@id)
生成的 ObjectId✔️参见:为 MongoDB 定义 ID
数组✔️
枚举✔️在 Prisma ORM 级别实现
原生数据库类型✔️参见:字段映射参考
JSON 支持✔️尚不支持高级 Json 字段过滤。
DBrefs
变更流
直接访问聚合管道