データベース機能マトリックス
このページでは、Prisma ORMがサポートするデータベースによって提供される機能の概要を説明します。さらに、これらの各機能がPrisma ORMでどのように使用できるか、そして追加のドキュメントへのポインタも説明します。
リレーショナルデータベース機能
このセクションでは、現在Prisma ORMがサポートしているリレーショナルデータベースに存在するデータベース機能について説明します。Prisma schema列は、特定の機能がPrisma schemaでどのように表現できるかを示し、そのドキュメントへのリンクを提供します。データベース機能はPrisma schemaではまだ表現できない場合でも、Prisma Clientで使用できることに注意してください。
注記
これらの機能はリレーショナルデータベース専用です。MongoDBのようなNoSQLデータベースのサポートされている機能は、以下に記載されています。
制約
制約 | サポート | Prismaスキーマ | Prisma Client | Prisma Migrate |
---|---|---|---|---|
PRIMARY KEY | ✔️ | @id および @@id | ✔️ | ✔️ |
FOREIGN KEY | ✔️ | リレーションフィールド | ✔️ | ✔️ |
UNIQUE | ✔️* | @unique および @@unique | ✔️ | ✔️ |
CHECK | ✔️† | まだ | ✔️ | まだ |
NOT NULL | ✔️ | ? | ✔️ | ✔️ |
DEFAULT | ✔️ | @default | ✔️ | ✔️ |
* Microsoft SQL Serverで
UNIQUE
制約を使用する場合の注意点 † MySQLのバージョン8以降のみでサポートされています。
参照アクション(外部キー参照の削除および更新動作)
削除動作 | サポート | Prismaスキーマ | Prisma Client | Prisma Migrate |
---|---|---|---|---|
CASCADE | ✔️ | ✔️ | ✔️ | ✔️ |
RESTRICT | ✔️* | ✔️ | ✔️ | ✔️ |
NO ACTION | ✔️ | ✔️ | ✔️ | ✔️ |
SET DEFAULT | ✔️ | ✔️ | ✔️ | ✔️ |
SET NULL | ✔️ | ✔️ | ✔️ | ✔️ |
*
RESTRICT
はMicrosoft SQL Serverではサポートされていません。
インデックス
インデックス | サポート | Prismaスキーマ | Prisma Client | Prisma Migrate |
---|---|---|---|---|
UNIQUE | ✔️ | @unique および @@unique | ✔️ | ✔️ |
USING | PostgreSQLのみ | 型 | ✔️ | ✔️ |
WHERE | ✔️ | まだ | ✔️ | まだ |
(式) | ✔️ | まだ | ✔️ | まだ |
INCLUDE | PostgreSQLおよびMicrosoft SQL Serverのみ | まだ | ✔️ | まだ |
USING
を介して指定されたアルゴリズム
インデックスタイプ(アルゴリズム) | サポート | Prismaスキーマ | Prisma Client | Prisma Migrate |
---|---|---|---|---|
B-tree | ✔️ | ✔️† | ✔️ | まだ |
Hash | ✔️ | ✔️† | ✔️ | まだ |
GiST | ✔️* | ✔️† | ✔️* | まだ |
GIN | ✔️* | ✔️† | ✔️* | まだ |
BRIN | ✔️* | ✔️† | ✔️* | まだ |
SP-GiST | ✔️* | ✔️† | ✔️* | まだ |
- * MySQLおよびSQLiteではサポートされていません
- † Prisma ORMバージョン
4.0.0
以降でPostgreSQLコネクタでのみ利用可能です。
その他
機能 | サポート | Prismaスキーマ | Prisma Client | Prisma Migrate |
---|---|---|---|---|
自動インクリメントID | ✔️ | autoincrement() | ✔️ | ✔️ |
配列 | PostgreSQLのみ | [] | ✔️ | ✔️ |
Enum | ✔️*† | enum | ✔️ | ✔️ |
ネイティブデータベース型 | ✔️ | ✔️ | ✔️ | まだ |
SQLビュー | ✔️ | まだ | まだ | まだ |
JSONサポート | ✔️† | ✔️ | ✔️ | ✔️ |
あいまい/フレーズ全文検索 | ✔️‡ | まだ | まだ | まだ |
テーブル継承 | PostgreSQLおよびMicrosoft SQL Serverのみ | まだ | ✔️ | まだ |
認証とユーザー管理 | ✔️‡ | まだ | まだ | まだ |
- * Microsoft SQL Serverではサポートされていません
- † JSONおよびEnum型はPrisma ORM 6.2.0以降のSQLiteでサポートされています。
- ‡ SQLiteではサポートされていません
NoSQLデータベース機能
このセクションでは、現在Prisma ORMがサポートしているNoSQLデータベースに存在するデータベース機能について説明します。
MongoDB
以下の表は、一般的なMongoDB機能とPrisma ORMが提供するサポートレベルをリストしています。
機能 | Prisma ORMでサポート | 注記 |
---|---|---|
埋め込みドキュメント | ✔️ | |
トランザクション | ✔️ | |
インデックス | ✔️ 注意点あり | インデックスは、参照するフィールドに少なくともいくつかのデータが含まれている場合にのみイントロスペクションできます。 |
自動インクリメントID | いいえ | |
複合ID | いいえ | MongoDBは複合ID(@@id )をサポートしていません |
生成されたObjectId | ✔️ | 参照:MongoDBのID定義 |
配列 | ✔️ | |
Enum | ✔️ | Prisma ORMレベルで実装 |
ネイティブデータベース型 | ✔️ | 参照:フィールドマッピングリファレンス |
JSONサポート | ✔️ | 高度なJson フィールドフィルタリングはまだサポートされていません。 |
DBRefs | いいえ | |
変更ストリーム | いいえ | |
アグリゲーションパイプラインへの直接アクセス | いいえ |