Overview
Thegenerator block defines how Prisma Client is generated from your schema. You can have multiple generator blocks for different outputs or configurations.
Basic Syntax
Required Fields
provider
Specifies which generator to use:prisma-client-js- JavaScript/TypeScript client (most common)- Custom generators can be referenced by package name or path
Optional Fields
output
Customize the output directory for generated files:- Relative paths are resolved from the schema file location
- Default output:
node_modules/.prisma/client
previewFeatures
Enable experimental Prisma features:binaryTargets
Specify target platforms for engine binaries:- Docker containers
- AWS Lambda
- Different deployment platforms
Multiple Generators
You can define multiple generators in a single schema:Example Configurations
Standard Setup
Custom Output
With Preview Features
Docker Deployment
Best Practices
- Use descriptive generator names (e.g.,
client,typegen) - Commit custom output paths to version control
- Use
binaryTargetswhen deploying to different platforms - Test preview features in development before production use
- Keep generator configuration minimal unless specific customization is needed