Prisma ORM 8 is here.Read the docs
Client Extensions

Shared packages & examples

Prisma ORM v6

Explore the Prisma Client extensions that have been built by Prisma and its community

Extensions made by Prisma

The following is a list of extensions we've built at Prisma:

ExtensionDescription
@prisma/extension-accelerateEnables Accelerate, a global database cache available in 300+ locations with built-in connection pooling
@prisma/extension-read-replicasAdds read replica support to Prisma Client

Extensions made by Prisma's community

The following is a list of extensions created by the community. If you want to create your own package, refer to the Shared Prisma Client extensions documentation.

ExtensionDescription
prisma-extension-supabase-rlsAdds support for Supabase Row Level Security with Prisma
prisma-extension-barkImplements the Materialized Path pattern for creating and working with tree structures in Prisma
prisma-cursorstreamAdds cursor-based streaming
prisma-gptLets you query your database using natural language
prisma-extension-cachingAdds the ability to cache complex queries
prisma-extension-cache-managerCaches model queries with any cache-manager compatible cache
prisma-extension-randomLets you query for random rows in your database
prisma-paginateAdds support for paginating read queries
prisma-extension-streamdalAdds support for Code-Native data pipelines using Streamdal
prisma-rbacAdds customizable role-based access control
prisma-extension-redisExtensive Prisma extension designed for efficient caching and cache invalidation using Redis and Dragonfly Databases
prisma-cache-extensionPrisma extension for caching and invalidating cache with Redis(other Storage options to be supported)
prisma-extension-caslPrisma client extension that utilizes CASL to enforce authorization logic on most simple and nested queries.
prisma-emitter-extensionPrisma extension for emit events on CRUD operations based on configurable listeners.
prisma-prefixed-idsAutomatically generates prefixed IDs for models, with configurable per-model prefixes and ID generation

If you have built an extension and would like to see it featured, feel free to add it to the list by opening a pull request.

Examples

ExampleDescription
audit-log-contextProvides the current user's ID as context to Postgres audit log triggers
callback-free-itxAdds a method to start interactive transactions without callbacks
computed-fieldsAdds virtual / computed fields to result objects
input-transformationTransforms the input arguments passed to Prisma Client queries to filter the result set
input-validationRuns custom validation logic on input arguments passed to mutation methods
instance-methodsAdds Active Record-like methods like save() and delete() to result objects
json-field-typesUses strongly-typed runtime parsing for data stored in JSON columns
model-filtersAdds reusable filters that can composed into complex where conditions for a model
obfuscated-fieldsPrevents sensitive data (e.g. password fields) from being included in results
query-loggingWraps Prisma Client queries with simple query timing and logging
readonly-clientCreates a client that only allows read operations
retry-transactionsAdds a retry mechanism to transactions with exponential backoff and jitter
row-level-securityUses Postgres row-level security policies to isolate data a multi-tenant application
static-methodsAdds custom query methods to Prisma Client models
transformed-fieldsDemonstrates how to use result extensions to transform query results and add i18n to an app
exists-methodDemonstrates how to add an exists method to all your models
update-delete-ignore-not-found Demonstrates how to add the updateIgnoreOnNotFound and deleteIgnoreOnNotFound methods to all your models.

Going further

On this page