跳至主要内容

共享包和示例

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 行级安全添加 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专为使用 Redis 和 Dragonfly 数据库进行高效缓存和缓存失效而设计的完整 Prisma 扩展。
prisma-cache-extension用于使用 Redis(将支持其他存储选项)进行缓存和使缓存失效的 Prisma 扩展。

如果您已经构建了扩展,并且希望看到它在列表中展示,请随时通过打开拉取请求将其添加到列表中。

示例

info

以下示例扩展仅作为示例提供,不提供任何保证。它们旨在展示如何使用此处记录的方法创建 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演示如何向所有模型添加 updateIgnoreOnNotFounddeleteIgnoreOnNotFound 方法。

更进一步