共有パッケージと例
Prismaによって作成された拡張機能
以下は、Prismaで構築された拡張機能のリストです。
拡張機能 | 説明 |
---|---|
@prisma/extension-accelerate | 300以上のロケーションで利用可能で、組み込みの接続プールを備えたグローバルデータベースキャッシュであるAccelerateを有効にします。 |
@prisma/extension-read-replicas | Prisma Clientに読み取りレプリカのサポートを追加します。 |
Prismaコミュニティによって作成された拡張機能
以下はコミュニティによって作成された拡張機能のリストです。独自のパッケージを作成したい場合は、共有Prisma Client拡張機能のドキュメントを参照してください。
拡張機能 | 説明 |
---|---|
prisma-extension-supabase-rls | PrismaでSupabaseの行レベルセキュリティのサポートを追加します。 |
prisma-extension-bark | Prismaでツリー構造を簡単に作成し、操作できるようにするMaterialized Pathパターンを実装します。 |
prisma-cursorstream | カーソルベースのストリーミングを追加します。 |
prisma-gpt | 自然言語を使用してデータベースをクエリできるようにします。 |
prisma-extension-caching | 複雑なクエリをキャッシュする機能を追加します。 |
prisma-extension-cache-manager | 任意のcache-manager互換キャッシュでモデルクエリをキャッシュします。 |
prisma-extension-random | データベース内のランダムな行をクエリできるようにします。 |
prisma-paginate | 読み取りクエリのページネーションのサポートを追加します。 |
prisma-extension-streamdal | Streamdalを使用してCode-Nativeデータパイプラインのサポートを追加します。 |
prisma-rbac | カスタマイズ可能なロールベースアクセス制御を追加します。 |
prisma-extension-redis | RedisおよびDragonfly Databasesを使用して、効率的なキャッシュとキャッシュ無効化のために設計された広範なPrisma拡張機能。 |
prisma-cache-extension | Redisによるキャッシュおよびキャッシュ無効化のためのPrisma拡張機能(他のストレージオプションもサポート予定)。 |
prisma-extension-casl | CASLを利用して、ほとんどの単純なクエリおよびネストされたクエリに認証ロジックを適用するPrismaクライアント拡張機能。 |
prisma-emitter-extension | 設定可能なリスナーに基づいて、CRUD操作でイベントを発行するためのPrisma拡張機能。 |
拡張機能を構築し、リストに掲載したい場合は、プルリクエストを開いて自由に追加してください。
例
情報
以下のサンプル拡張機能は、保証なしで例としてのみ提供されています。これらは、ここで文書化されているアプローチを使用してPrisma Client拡張機能をどのように作成できるかを示すことを目的としています。これらの例を、独自の拡張機能を構築するためのインスピレーションとして使用することをお勧めします。
例 | 説明 |
---|---|
audit-log-context | 現在のユーザーIDをPostgres監査ログトリガーのコンテキストとして提供します。 |
callback-free-itx | コールバックなしでインタラクティブトランザクションを開始するメソッドを追加します。 |
computed-fields | 結果オブジェクトに仮想/計算フィールドを追加します。 |
input-transformation | Prisma Clientクエリに渡された入力引数を変換して、結果セットをフィルタリングします。 |
input-validation | ミューテーションメソッドに渡された入力引数に対してカスタム検証ロジックを実行します。 |
instance-methods | 結果オブジェクトにsave() やdelete() のようなActive Record風のメソッドを追加します。 |
json-field-types | JSON列に保存されたデータに対して、厳密な型付けされたランタイム解析を使用します。 |
model-filters | モデルの複雑なwhere 条件に構成できる再利用可能なフィルタを追加します。 |
obfuscated-fields | 機密データ(例: password フィールド)が結果に含まれないようにします。 |
query-logging | Prisma Clientクエリをシンプルなクエリタイミングとロギングでラップします。 |
readonly-client | 読み取り操作のみを許可するクライアントを作成します。 |
retry-transactions | 指数関数的バックオフとジッターを伴うトランザクションにリトライメカニズムを追加します。 |
row-level-security | マルチテナントアプリケーションのデータを分離するためにPostgresの行レベルセキュリティポリシーを使用します。 |
static-methods | Prisma Clientモデルにカスタムクエリメソッドを追加します。 |
transformed-fields | 結果拡張機能を使用してクエリ結果を変換し、アプリケーションにi18nを追加する方法を示します。 |
exists-method | すべてのモデルにexists メソッドを追加する方法を示します。 |
update-delete-ignore-not-found | すべてのモデルにupdateIgnoreOnNotFound およびdeleteIgnoreOnNotFound メソッドを追加する方法を示します。 |
さらに学ぶ
- Prisma Client拡張機能について詳しくはこちら。