資料庫功能矩陣
本頁面概述了 Prisma ORM 支援的資料庫所提供的功能。此外,它還說明了如何在 Prisma ORM 中使用這些功能,並提供指向進一步文件的連結。
關聯式資料庫功能
本節描述了目前 Prisma ORM 支援的關聯式資料庫上存在哪些資料庫功能。Prisma schema 欄位指示了如何在 Prisma schema 中表示特定功能,並連結到其文件。請注意,即使資料庫功能可能尚未在 Prisma schema 中表示,也可以在 Prisma Client 中使用。
注意
這些功能僅適用於關聯式資料庫。NoSQL 資料庫(如 MongoDB)的支援功能可以在下方找到。
約束條件
約束條件 | 已支援 | Prisma schema | Prisma Client | Prisma Migrate |
---|---|---|---|---|
PRIMARY KEY | ✔️ | @id 和 @@id | ✔️ | ✔️ |
FOREIGN KEY | ✔️ | 關聯欄位 | ✔️ | ✔️ |
UNIQUE | ✔️* | @unique 和 @@unique | ✔️ | ✔️ |
CHECK | ✔️† | 尚未支援 | ✔️ | 尚未支援 |
NOT NULL | ✔️ | ? | ✔️ | ✔️ |
DEFAULT | ✔️ | @default | ✔️ | ✔️ |
* 將
UNIQUE
約束條件與 Microsoft SQL Server 搭配使用時的注意事項 † 僅在 MySQL 8 及更高版本中支援。
參考動作(外鍵參考的刪除和更新行為)
刪除行為 | 已支援 | Prisma schema | Prisma Client | Prisma Migrate |
---|---|---|---|---|
CASCADE | ✔️ | ✔️ | ✔️ | ✔️ |
RESTRICT | ✔️* | ✔️ | ✔️ | ✔️ |
NO ACTION | ✔️ | ✔️ | ✔️ | ✔️ |
SET DEFAULT | ✔️ | ✔️ | ✔️ | ✔️ |
SET NULL | ✔️ | ✔️ | ✔️ | ✔️ |
* Microsoft SQL Server 不支援
RESTRICT
。
索引
索引 | 已支援 | Prisma schema | Prisma Client | Prisma Migrate |
---|---|---|---|---|
UNIQUE | ✔️ | @unique 和 @@unique | ✔️ | ✔️ |
USING | 僅限 PostgreSQL | 類型 | ✔️ | ✔️ |
WHERE | ✔️ | 尚未支援 | ✔️ | 尚未支援 |
(表達式) | ✔️ | 尚未支援 | ✔️ | 尚未支援 |
INCLUDE | 僅限 PostgreSQL 和 Microsoft SQL Server | 尚未支援 | ✔️ | 尚未支援 |
透過 USING
指定的演算法
索引類型(演算法) | 已支援 | Prisma schema | Prisma Client | Prisma Migrate |
---|---|---|---|---|
B-tree | ✔️ | ✔️† | ✔️ | 尚未支援 |
Hash | ✔️ | ✔️† | ✔️ | 尚未支援 |
GiST | ✔️* | ✔️† | ✔️* | 尚未支援 |
GIN | ✔️* | ✔️† | ✔️* | 尚未支援 |
BRIN | ✔️* | ✔️† | ✔️* | 尚未支援 |
SP-GiST | ✔️* | ✔️† | ✔️* | 尚未支援 |
- * MySQL 和 SQLite 不支援
- † 僅在 Prisma ORM
4.0.0
及更高版本中透過 PostgreSQL 連接器提供。
其他
功能 | 已支援 | Prisma schema | Prisma Client | Prisma Migrate |
---|---|---|---|---|
自動遞增 ID | ✔️ | autoincrement() | ✔️ | ✔️ |
陣列 | 僅限 PostgreSQL | [] | ✔️ | ✔️ |
列舉 | ✔️*† | enum | ✔️ | ✔️ |
原生資料庫類型 | ✔️ | ✔️ | ✔️ | 尚未支援 |
SQL 視圖 | ✔️ | 尚未支援 | 尚未支援 | 尚未支援 |
JSON 支援 | ✔️† | ✔️ | ✔️ | ✔️ |
模糊/片語全文檢索 | ✔️‡ | 尚未支援 | 尚未支援 | 尚未支援 |
表格繼承 | 僅限 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 支援 | 注意事項 |
---|---|---|
嵌入式文件 | ✔️ | |
交易 | ✔️ | |
索引 | ✔️ 附帶條件 | 只有當索引參照的欄位至少包含一些資料時,才能進行內省。 |
自動遞增 ID | 否 | |
複合 ID | 否 | MongoDB 不支援複合 ID (@@id ) |
產生的 ObjectId | ✔️ | 請參閱:定義 MongoDB 的 ID |
陣列 | ✔️ | |
列舉 | ✔️ | 在 Prisma ORM 層級實作 |
原生資料庫類型 | ✔️ | 請參閱:欄位映射參考 |
JSON 支援 | ✔️ | 尚不支援進階 Json 欄位篩選。 |
DBrefs | 否 | |
變更串流 | 否 | |
直接存取聚合管道 | 否 |