ArmoHotspot/backend/.agents/skills/prisma-cli/references/generate.md
Gökhan ÖZARSLAN 6b5a6d0a71 ilk dosyalar
2026-08-16 15:09:05 +03:00

3.4 KiB

prisma generate

Generates assets based on the generator blocks in your Prisma schema, most commonly Prisma Client.

Command

prisma generate [options]

Bun Runtime

If you're using Bun, run Prisma with bunx --bun so it doesn't fall back to Node.js:

bunx --bun prisma generate

What It Does

  1. Reads your schema.prisma file
  2. Generates a customized Prisma Client based on your models
  3. Outputs to the directory specified in the generator block

Options

Option Description
--schema Custom path to your Prisma schema
--config Custom path to your Prisma config file
--sql Generate typed sql module
--watch Watch the Prisma schema and rerun after a change
--generator Generator to use (may be provided multiple times)
--no-hints Hides the hint messages but still outputs errors and warnings
--require-models Do not allow generating a client without models

Examples

Basic generation

prisma generate

Watch mode (development)

prisma generate --watch

Auto-regenerates when schema.prisma changes.

Specific generator

prisma generate --generator client

Multiple generators

prisma generate --generator client --generator zod_schemas

Typed SQL generation

prisma generate --sql

Schema Configuration

generator client {
  provider = "prisma-client"
  output   = "../generated"
}

Current Generator Behavior

  • prisma-client is the standard generator
  • output is required when using prisma-client
  • prisma-client supports both ESM and CommonJS via moduleFormat
  • compilerBuild supports fast and small query compiler artifacts
  • Use TypeScript satisfies for typed query fragments with prisma-client
  • Import Prisma Client from your generated output path, for example:
import { PrismaClient } from '../generated/prisma/client'

Compiler Build Tuning

Use compilerBuild when you need to trade artifact size against the default build:

generator client {
  provider      = "prisma-client"
  output        = "../generated"
  compilerBuild = "small"
}
  • fast is the default build for most targets
  • small is useful for size-constrained targets
  • Prisma defaults vercel-edge targets to small

Common Patterns

After schema changes

prisma migrate dev --name my_migration
prisma generate

Run prisma generate whenever you need refreshed client code after schema-changing commands.

CI/CD pipeline

prisma generate

Run before building your application.

Multiple generators

generator client {
  provider = "prisma-client"
  output   = "../generated"
}

generator zod {
  provider = "zod-prisma-types"
  output   = "../generated/zod"
}
prisma generate  # Runs all generators

Output Structure

After running prisma generate, your output directory contains:

generated/
├── browser.ts
├── client.ts
├── commonInputTypes.ts
├── models/
├── enums.ts
├── models.ts
└── ...

Import the client:

import { PrismaClient, Prisma } from '../generated/prisma/client'

Import browser-safe types:

import { Prisma } from '../generated/prisma/browser'
import { Role } from '../generated/prisma/enums'
import type { UserModel } from '../generated/prisma/models/User'