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

共有パッケージと例

Prisma製の拡張機能

以下はPrismaで構築した拡張機能のリストです

拡張機能説明
@prisma/extension-accelerateAccelerateを有効にします。これは、300以上のロケーションで利用可能なグローバルデータベースキャッシュで、接続プーリングが組み込まれています。
@prisma/extension-read-replicasPrisma Clientにリードレプリカのサポートを追加します

Prismaコミュニティ製の拡張機能

以下はコミュニティによって作成された拡張機能のリストです。独自のパッケージを作成する場合は、共有Prisma Client拡張機能のドキュメントを参照してください。

拡張機能説明
prisma-extension-supabase-rlsPrismaでSupabase Row Level Securityのサポートを追加します
prisma-extension-barkPrismaでツリー構造を簡単に作成および操作できるMaterialized Pathパターンを実装します。
prisma-cursorstreamカーソルベースのストリーミングを追加します
prisma-gpt自然言語を使用してデータベースをクエリできます
prisma-extension-caching複雑なクエリをキャッシュする機能を追加します
prisma-extension-cache-managercache-manager互換のキャッシュを使用してモデルクエリをキャッシュします
prisma-extension-randomデータベース内のランダムな行をクエリできます
prisma-paginate読み取りクエリのページネーションのサポートを追加します
prisma-extension-streamdalStreamdalを使用したコードネイティブデータパイプラインのサポートを追加します
prisma-rbacカスタマイズ可能なロールベースのアクセス制御を追加します
prisma-extension-redisRedisおよびDragonflyデータベースを使用した効率的なキャッシュとキャッシュ無効化のために設計された広範なPrisma拡張機能
prisma-cache-extensionRedisを使用したキャッシュとキャッシュ無効化のためのPrisma拡張機能(他のストレージオプションもサポート予定)
prisma-extension-caslほとんどの単純およびネストされたクエリで認可ロジックを強制するためにCASLを利用する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-typesJSON列に格納されたデータに対して、強力な型付けされたランタイム解析を使用します
model-filtersモデルの複雑な`where`条件に構成できる再利用可能なフィルターを追加します
obfuscated-fields機密データ(例:`password`フィールド)が結果に含まれないようにします
query-loggingPrisma Clientクエリを簡単なクエリタイミングとロギングでラップします
readonly-client読み取り操作のみを許可するクライアントを作成します
retry-transactions指数バックオフとジッターを使用したトランザクションへの再試行メカニズムを追加します
row-level-securityPostgresの行レベルセキュリティポリシーを使用して、マルチテナントアプリケーションのデータを分離します
static-methodsカスタムクエリメソッドをPrisma Clientモデルに追加します
transformed-fields結果拡張機能を使用してクエリ結果を変換し、アプリにi18nを追加する方法を示します
exists-methodすべてのモデルに`exists`メソッドを追加する方法を示します
update-delete-ignore-not-foundすべてのモデルに`updateIgnoreOnNotFound`および`deleteIgnoreOnNotFound`メソッドを追加する方法を示します。

さらに詳しく