Prisma is a next-generation ORM that provides a comprehensive database toolkit including type-safe query builder, declarative migrations, and GUI database management.
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Generate type-safe Prisma Client from schema definitions with support for multiple generators, watch mode, and specialized output configurations.
Creates Prisma Client and other artifacts based on schema configuration with full type safety and customization options.
/**
* Generate Prisma Client and artifacts from schema
* Reads prisma/schema.prisma by default or custom schema path
*/
prisma generate [options]
Options:
--schema <path> Custom schema file path
--sql Generate typed SQL module for direct queries
--watch Watch mode for continuous generation on file changes
--generator <name> Target specific generator by name
--no-engine Generate for Accelerate only (no local engine)
--no-hints Hide promotional hint messages
--allow-no-models Allow generation from schemas without models
--require-models Require at least one model in schema
--help/-h Show generate command helpUsage Examples:
# Basic generation from default schema
prisma generate
# Generate with custom schema location
prisma generate --schema ./custom/schema.prisma
# Watch mode for development
prisma generate --watch
# Generate only specific generator
prisma generate --generator client
# Generate with SQL support for typed queries
prisma generate --sql
# Generate for Accelerate deployment (no local engine)
prisma generate --no-engineGenerate typed SQL module for direct database queries with full type safety and IntelliSense support.
/**
* Generate typed SQL module alongside Prisma Client
* Creates sql/ directory with typed query functions
*/
prisma generate --sql [options]Generated SQL Module Usage:
// Generated SQL module provides typed queries
import { sql } from './generated/sql';
// Type-safe raw queries
const users = await sql`
SELECT id, email, name
FROM "User"
WHERE active = ${true}
`;
// Introspected query functions
const getUsersByEmail = sql.getUsersByEmail;
const result = await getUsersByEmail('test@example.com');Continuous generation with file system watching for development workflows.
/**
* Enable watch mode for continuous generation
* Monitors schema files and automatically regenerates on changes
*/
prisma generate --watch [options]Watch Mode Features:
Target specific generators when multiple are configured in the schema.
/**
* Generate artifacts for specific generator only
* Useful when schema has multiple generator blocks
*/
prisma generate --generator <name> [options]Usage with Multiple Generators:
// schema.prisma with multiple generators
generator client {
provider = "prisma-client-js"
output = "./generated/client"
}
generator docs {
provider = "prisma-docs-generator"
output = "./generated/docs"
}# Generate only client
prisma generate --generator client
# Generate only docs
prisma generate --generator docsGenerate Prisma Client optimized for Prisma Accelerate deployment without local database engines.
/**
* Generate client for Accelerate deployment
* Excludes binary engines for serverless environments
*/
prisma generate --no-engine [options]Accelerate Configuration:
// Generated client works with Accelerate connection string
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient({
datasourceUrl: process.env.ACCELERATE_URL, // Accelerate connection string
})Control schema validation behavior during generation process.
/**
* Control model requirements during generation
*/
prisma generate --allow-no-models # Allow schemas without model definitions
prisma generate --require-models # Require at least one model (default)Schema Examples:
// Valid with --allow-no-models
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
// No models defined - normally fails, allowed with --allow-no-modelsThe generation process includes several phases:
Common generation errors and solutions:
Generated Prisma Client integrates with:
Install with Tessl CLI
npx tessl i tessl/npm-prisma