共用套件 & 範例
Prisma 製作的擴充功能
以下是我們在 Prisma 建立的擴充功能列表
擴充功能 | 描述 |
---|---|
@prisma/extension-accelerate | 啟用 Accelerate,這是一個全球資料庫快取,在 300 多個地點可用,並內建連線池 |
@prisma/extension-pulse | 啟用 Pulse,這項服務可從您的資料庫擷取變更事件,並立即將其傳遞到您的應用程式。 |
@prisma/extension-read-replicas | 為 Prisma Client 新增讀取副本支援 |
Prisma 社群製作的擴充功能
以下是由社群建立的擴充功能列表。如果您想建立自己的套件,請參閱共用 Prisma Client 擴充功能文件。
擴充功能 | 描述 |
---|---|
prisma-extension-supabase-rls | 新增對 Supabase Row Level Security 與 Prisma 的支援 |
prisma-extension-bark | 實作具體化路徑模式,讓您可以輕鬆地在 Prisma 中建立和互動樹狀結構 |
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 | 廣泛的 Prisma 擴充功能,旨在利用 Redis 和 Dragonfly Databases 實現高效的快取和快取失效 |
prisma-cache-extension | 用於使用 Redis 快取和使快取失效的 Prisma 擴充功能(將支援其他儲存選項) |
prisma-extension-casl | Prisma client 擴充功能,利用 CASL 對大多數簡單和巢狀查詢強制執行授權邏輯。 |
如果您已建立擴充功能並希望看到它被收錄,請隨時開啟 Pull Request 將其新增到列表中。
範例
資訊
以下範例擴充功能僅作為範例提供,不提供任何保證。它們旨在展示如何使用此處記錄的方法建立 Prisma Client 擴充功能。我們建議將這些範例作為建立您自己擴充功能的靈感來源。
範例 | 描述 |
---|---|
audit-log-context | 將目前使用者的 ID 作為上下文提供給 Postgres 稽核日誌觸發器 |
callback-free-itx | 新增一種無需回呼即可啟動互動式交易的方法 |
computed-fields | 將虛擬/計算欄位新增到結果物件 |
input-transformation | 轉換傳遞到 Prisma Client 查詢的輸入引數以篩選結果集 |
input-validation | 對傳遞到變更方法的輸入引數執行自訂驗證邏輯 |
instance-methods | 將類似 Active Record 的方法(如 save() 和 delete() )新增到結果物件 |
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 擴充功能。