跳至主要內容

資料庫功能矩陣

本頁面概述了 Prisma ORM 所支援的資料庫所提供的功能。此外,它還說明了如何使用 Prisma ORM 來運用這些功能,並附有指向進一步文件的連結。

關聯式資料庫功能

本節描述目前由 Prisma ORM 支援的關聯式資料庫中存在哪些資料庫功能。Prisma schema 欄位指示如何在 Prisma schema 中表示特定功能,並連結至相關文件。請注意,即使某些資料庫功能尚未能在 Prisma schema 中表示,它們仍可在 Prisma Client 中使用。

注意

這些功能適用於關聯式資料庫。NoSQL 資料庫(如 MongoDB)的支援功能請見下方

限制條件 (Constraints)

約束 (Constraint)支援Prisma schemaPrisma ClientPrisma Migrate
PRIMARY KEY (主鍵)✔️@id@@id✔️✔️
FOREIGN KEY (外鍵)✔️關聯欄位✔️✔️
UNIQUE (唯一)✔️*@unique@@unique✔️✔️
CHECK (檢查)✔️†尚未支援✔️尚未支援
NOT NULL (非空值)✔️?✔️✔️
DEFAULT✔️@default✔️✔️
EXCLUDE✔️‡尚未支援✔️尚未支援

* 在 Microsoft SQL Server 中使用 UNIQUE 限制條件時有相關注意事項 † 僅在 MySQL 8 及更高版本中支援。 ‡ 僅在 PostgreSQL 中支援。

參照動作 (Referential Actions,外鍵參照的刪除與更新行為)

刪除行為支援Prisma schemaPrisma ClientPrisma Migrate
CASCADE✔️✔️✔️✔️
RESTRICT✔️*✔️✔️✔️
NO ACTION✔️✔️✔️✔️
SET DEFAULT✔️✔️✔️✔️
SET NULL✔️✔️✔️✔️

* Microsoft SQL Server 不支援 RESTRICT

索引 (Indexes)

索引 (Index)支援Prisma schemaPrisma ClientPrisma Migrate
UNIQUE (唯一)✔️@unique@@unique✔️✔️
USING僅限 PostgreSQLtype✔️✔️
WHERE✔️尚未支援✔️尚未支援
(expression)✔️尚未支援✔️尚未支援
INCLUDE僅限 PostgreSQL 和 Microsoft SQL Server尚未支援✔️尚未支援

透過 USING 指定的演算法

索引類型 (演算法)支援Prisma schemaPrisma ClientPrisma Migrate
B-tree✔️✔️†✔️尚未支援
Hash✔️✔️†✔️尚未支援
GiST✔️*✔️†✔️*尚未支援
GIN✔️*✔️†✔️*尚未支援
BRIN✔️*✔️†✔️*尚未支援
SP-GiST✔️*✔️†✔️*尚未支援
  • * 不支援 MySQL 和 SQLite
  • † 僅在 Prisma ORM 4.0.0 及更高版本的 PostgreSQL 連接器中可用。

其他 (Misc)

功能支援Prisma schemaPrisma ClientPrisma Migrate
自動遞增 ID✔️autoincrement()✔️✔️
陣列 (Arrays)僅限 PostgreSQL[]✔️✔️
列舉 (Enums)✔️*†enum✔️✔️
原生資料庫類型✔️✔️✔️尚未支援
SQL 檢視表 (SQL Views)✔️尚未支援尚未支援尚未支援
JSON 支援✔️†✔️✔️✔️
模糊/短語全文檢索 (Fuzzy/Phrase full text search)✔️‡尚未支援尚未支援尚未支援
資料表繼承僅限 PostgreSQL 和 Microsoft SQL Server尚未支援✔️尚未支援
授權與使用者管理✔️‡尚未支援尚未支援尚未支援
  • * Microsoft SQL Server 不支援
  • † 自 Prisma ORM 6.2.0 起,SQLite 支援 JSON 和 Enum 類型。
  • ‡ SQLite 不支援

NoSQL 資料庫功能

本節描述目前由 Prisma ORM 支援的 NoSQL 資料庫中存在哪些資料庫功能。

MongoDB

下表列出了常見的 MongoDB 功能,並說明了 Prisma ORM 提供的支援等級

功能Prisma ORM 支援情況註解
嵌入式文件 (Embedded documents)✔️
事務 (Transactions)✔️
索引✔️ 有附帶條件唯有當索引所參考的欄位至少包含部分資料時,才能對其進行內省 (Introspection)。
自動遞增 ID
複合 ID (Compound IDs)MongoDB 不支援複合 ID (@@id)
生成的 ObjectId✔️請參閱:定義 MongoDB 的 ID
陣列 (Arrays)✔️
列舉 (Enums)✔️於 Prisma ORM 層級實作
原生資料庫類型✔️請參閱:欄位對映參考
JSON 支援✔️目前不支援進階的 Json 欄位篩選。
DBrefs
變更串流 (Change streams)
直接存取聚合管道 (Aggregation pipeline)
© . This site is unofficial and not affiliated with Prisma Data, Inc.