メインコンテンツにスキップ

データベース機能マトリックス

このページでは、Prisma ORMがサポートするデータベースによって提供される機能の概要を説明します。さらに、これらの各機能がPrisma ORMでどのように使用できるかを、詳細なドキュメントへのポインターとともに説明します。

リレーショナルデータベース機能

このセクションでは、Prisma ORMで現在サポートされているリレーショナルデータベースに存在するデータベース機能について説明します。「Prismaスキーマ」列は、特定の機能がPrismaスキーマでどのように表現できるかを示し、そのドキュメントへのリンクを提供します。データベース機能は、Prismaスキーマでまだ表現できない場合でも、Prisma Clientで使用できることに注意してください。

注意

これらの機能はリレーショナルデータベース専用です。MongoDBなどのNoSQLデータベースでサポートされている機能は、以下にあります。

制約

制約サポートPrismaスキーマPrisma ClientPrisma Migrate
PRIMARY KEY✔️@id および @@id✔️✔️
FOREIGN KEY✔️リレーションフィールド✔️✔️
UNIQUE✔️*@unique および @@unique✔️✔️
CHECK✔️†未対応✔️未対応
NOT NULL✔️?✔️✔️
DEFAULT✔️@default✔️✔️

* Microsoft SQL ServerでUNIQUE制約を使用する場合、注意点があります。† MySQLバージョン8以降でのみサポートされています。

参照アクション(外部キー参照の削除および更新動作)

削除動作サポートPrismaスキーマPrisma ClientPrisma Migrate
CASCADE✔️✔️✔️✔️
RESTRICT✔️*✔️✔️✔️
NO ACTION✔️✔️✔️✔️
SET DEFAULT✔️✔️✔️✔️
SET NULL✔️✔️✔️✔️

* RESTRICTはMicrosoft SQL Serverではサポートされていません。

インデックス

インデックスサポートPrismaスキーマPrisma ClientPrisma Migrate
UNIQUE✔️@unique および @@unique✔️✔️
USINGPostgreSQLのみ✔️✔️
WHERE✔️未対応✔️未対応
(式)✔️未対応✔️未対応
INCLUDEPostgreSQLおよびMicrosoft SQL Serverのみ未対応✔️未対応

USINGで指定されたアルゴリズム

インデックス型(アルゴリズム)サポートPrismaスキーマPrisma ClientPrisma Migrate
B-tree✔️✔️†✔️未対応
Hash✔️✔️†✔️未対応
GiST✔️*✔️†✔️*未対応
GIN✔️*✔️†✔️*未対応
BRIN✔️*✔️†✔️*未対応
SP-GiST✔️*✔️†✔️*未対応
  • * MySQLおよびSQLiteではサポートされていません
  • † Prisma ORMバージョン4.0.0以降のPostgreSQLコネクタでのみ利用可能です。

その他

機能サポートPrismaスキーマPrisma ClientPrisma Migrate
自動インクリメントID✔️autoincrement()✔️✔️
配列PostgreSQLのみ[]✔️✔️
列挙型✔️*†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の定義
配列✔️
列挙型✔️Prisma ORMレベルで実装
ネイティブデータベース型✔️参照:フィールドマッピングリファレンス
JSONサポート✔️高度なJsonフィールドフィルタリングはまだサポートされていません。
DBrefs非対応
変更ストリーム非対応
集計パイプラインへの直接アクセス非対応