跳到主要內容

資料庫功能矩陣

本頁面概述了 Prisma ORM 支援的資料庫所提供的功能。此外,它還解釋瞭如何在 Prisma ORM 中使用這些功能,並提供了指向更多文件的連結。

關係型資料庫功能

本節描述了 Prisma ORM 當前支援的關係型資料庫中存在哪些資料庫功能。Prisma schema 列指示如何在Prisma schema中表示某個功能,並連結到其文件。請注意,即使資料庫功能可能尚未在 Prisma schema 中可表示,它們也可以在 Prisma Client 中使用。

注意

這些功能適用於關係型資料庫。對 NoSQL 資料庫(如 MongoDB)的支援功能可以在下方找到

約束

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

* 使用 Microsoft SQL Server 的 UNIQUE 約束時適用注意事項 † 僅在 MySQL 8.0 及更高版本中支援

引用操作(外部索引鍵引用的刪除和更新行為)

刪除行為支援Prisma schemaPrisma ClientPrisma Migrate
級聯刪除(CASCADE)✔️✔️✔️✔️
限制刪除(RESTRICT)✔️*✔️✔️✔️
不操作(NO ACTION)✔️✔️✔️✔️
設為預設值(SET DEFAULT)✔️✔️✔️✔️
設為空(SET NULL)✔️✔️✔️✔️

* Microsoft SQL Server 不支援 RESTRICT

索引

索引支援Prisma schemaPrisma ClientPrisma Migrate
唯一鍵(UNIQUE)✔️@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
變更流
直接訪問聚合管道
© . This site is unofficial and not affiliated with Prisma Data, Inc.