共有パッケージと例
Prisma製の拡張機能
以下はPrismaで構築した拡張機能のリストです
拡張機能 | 説明 |
---|---|
@prisma/extension-accelerate | Accelerateを有効にします。これは、300以上のロケーションで利用可能なグローバルデータベースキャッシュで、接続プーリングが組み込まれています。 |
@prisma/extension-read-replicas | Prisma Clientにリードレプリカのサポートを追加します |
Prismaコミュニティ製の拡張機能
以下はコミュニティによって作成された拡張機能のリストです。独自のパッケージを作成する場合は、共有Prisma Client拡張機能のドキュメントを参照してください。
拡張機能 | 説明 |
---|---|
prisma-extension-supabase-rls | PrismaでSupabase Row Level Securityのサポートを追加します |
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を使用したコードネイティブデータパイプラインのサポートを追加します |
prisma-rbac | カスタマイズ可能なロールベースのアクセス制御を追加します |
prisma-extension-redis | RedisおよびDragonflyデータベースを使用した効率的なキャッシュとキャッシュ無効化のために設計された広範なPrisma拡張機能 |
prisma-cache-extension | Redisを使用したキャッシュとキャッシュ無効化のための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-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拡張機能の詳細はこちらをご覧ください。