prisma-cli
prisma/skills
Prisma ORM CLI commands reference for init, generate, migrate, db, dev, studio, and more.
What is prisma-cli?
Reference for Prisma ORM CLI commands covering project setup, client generation, migrations, database operations, and development workflows. Use this for ORM and database CLI tasks, not Prisma Compute app deployment.
- Initialize new Prisma projects with configurable database providers
- Generate and regenerate Prisma Client with watch mode support
- Manage database migrations in development and production environments
- Perform direct database operations: pull schema, push schema, seed, execute SQL
- Run local Prisma Postgres development database instances
- Validate and format Prisma schema files
How to install prisma-cli
npx skills add https://github.com/prisma/skills --skill prisma-cli- Prisma installed in your project
- prisma.config.ts configuration file (recommended)
- DATABASE_URL environment variable for database connection
- For Bun runtime: use `bunx --bun` prefix for CLI commands
How to use prisma-cli
- 1.Run `prisma init` to bootstrap a new project and select your database provider
- 2.Configure DATABASE_URL in .env and set up prisma.config.ts
- 3.Run `prisma generate` to create Prisma Client after schema changes
- 4.Use `prisma migrate dev --name <name>` to create and apply migrations during development
- 5.Run `prisma db push` to sync schema without creating migration files
- 6.Use `prisma studio` to visually inspect and manage database data
- 7.Run `prisma migrate deploy` in production to apply pending migrations
Use cases
- Setting up a new Prisma project with `prisma init` and choosing database provider
- Creating and applying migrations during development with `prisma migrate dev`
- Pulling existing database schema into Prisma with `prisma db pull`
- Running local development database with `prisma dev` for isolated testing
- Deploying migrations to production with `prisma migrate deploy`
- Backend developers using Prisma ORM
- Database administrators managing schema migrations
- Full-stack developers setting up new projects
- Teams using CI/CD pipelines for database deployments
- Developers needing local development databases
prisma-cli FAQ
`prisma db push` syncs your schema directly without creating migration files—use for prototyping. `prisma migrate dev` creates explicit migration files—use for production workflows where you need migration history and control.
Yes, run `prisma generate` explicitly after `migrate dev`, `db push`, or other schema syncs when you need fresh Prisma Client output.
Always add the `--bun` flag: `bunx --bun prisma init`, `bunx --bun prisma generate`, etc. This ensures Prisma runs with the Bun runtime instead of falling back to Node.js.
This skill covers Prisma ORM CLI commands (init, generate, migrate, db, dev, studio). Use `prisma-compute` skill for Prisma Compute app deployment, `@prisma/cli app deploy`, and Compute-specific commands.
Run `prisma db seed` explicitly after `migrate dev` or `migrate reset`. Configure your seed script in prisma.config.ts under `migrations.seed`.
Full instructions (SKILL.md)
Source of truth, from prisma/skills.
name: prisma-cli
description: Prisma ORM CLI commands reference covering init, generate, migrate, db, dev, studio, validate, format, debug, and mcp. Use for ORM/database CLI workflows, not Prisma Compute app deployment. For Prisma Compute, @prisma/cli app deploy, compute:deploy, create-prisma --deploy, apps, deployments, logs, or domains, use the prisma-compute skill instead. Triggers on "prisma init", "prisma generate", "prisma migrate", "prisma db", "prisma studio", "prisma mcp".
license: MIT
metadata:
author: prisma
version: "7.6.0"
Prisma CLI Reference
Reference for Prisma ORM CLI commands. This skill provides guidance on command usage, options, and best practices for current Prisma ORM releases.
Boundary: Compute
Do not use this skill for Prisma Compute app deployment. Use prisma-compute for @prisma/cli app deploy, compute:deploy, create-prisma --deploy, Compute apps, deployments, logs, domains, and framework deploy readiness.
When to Apply
Reference this skill when:
- Setting up a new Prisma project (
prisma init) - Generating Prisma Client (
prisma generate) - Running database migrations (
prisma migrate) - Managing database state (
prisma db push/pull) - Using local development database (
prisma dev) - Debugging Prisma issues (
prisma debug)
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Setup | HIGH | init |
| 2 | Generation | HIGH | generate |
| 3 | Development | HIGH | dev |
| 4 | Database | HIGH | db- |
| 5 | Migrations | CRITICAL | migrate- |
| 6 | Utility | MEDIUM | studio, validate, format, debug, mcp |
Command Categories
| Category | Commands | Purpose |
|---|---|---|
| Setup | init | Bootstrap new Prisma project |
| Generation | generate | Generate Prisma Client |
| Validation | validate, format | Schema validation and formatting |
| Development | dev | Local Prisma Postgres for development |
| Database | db pull, db push, db seed, db execute | Direct database operations |
| Migrations | migrate dev, migrate deploy, migrate reset, migrate status, migrate diff, migrate resolve | Schema migrations |
| Utility | studio, mcp, version, debug | Development and AI tooling |
Quick Reference
Project Setup
# Initialize new project (creates prisma/ folder and prisma.config.ts)
prisma init
# Initialize with specific database
prisma init --datasource-provider postgresql
prisma init --datasource-provider mysql
prisma init --datasource-provider sqlite
# Initialize with Prisma Postgres (cloud)
prisma init --db
# Initialize with an example model
prisma init --with-model
Client Generation
# Generate Prisma Client
prisma generate
# Watch mode for development
prisma generate --watch
# Generate specific generator only
prisma generate --generator client
Bun Runtime
When using Bun, always add the --bun flag so Prisma runs with the Bun runtime (otherwise it falls back to Node.js because of the CLI shebang):
bunx --bun prisma init
bunx --bun prisma generate
Local Development Database
# Start local Prisma Postgres
prisma dev
# Start with specific name
prisma dev --name myproject
# Start in background (detached)
prisma dev --detach
# List all local instances
prisma dev ls
# Stop instance
prisma dev stop myproject
# Remove instance data
prisma dev rm myproject
Database Operations
# Pull schema from existing database
prisma db pull
# Push schema to database (no migrations)
prisma db push
# Seed database
prisma db seed
# Execute raw SQL
prisma db execute --file ./script.sql
Migrations (Development)
# Create and apply migration
prisma migrate dev
# Create migration with name
prisma migrate dev --name add_users_table
# Create migration without applying
prisma migrate dev --create-only
# Reset database and apply all migrations
prisma migrate reset
Migrations (Production)
# Apply pending migrations (CI/CD)
prisma migrate deploy
# Check migration status
prisma migrate status
# Compare schemas and generate diff
prisma migrate diff --from-config-datasource --to-schema schema.prisma --script
Utility Commands
# Open Prisma Studio (database GUI)
prisma studio
# Start Prisma's MCP server for AI tools
prisma mcp
# Show version info
prisma version
prisma -v
# Debug information
prisma debug
# Validate schema
prisma validate
# Format schema
prisma format
Current Prisma CLI Setup
New Configuration File
Use prisma.config.ts for CLI configuration:
import 'dotenv/config'
import { defineConfig, env } from 'prisma/config'
export default defineConfig({
schema: 'prisma/schema.prisma',
migrations: {
path: 'prisma/migrations',
seed: 'tsx prisma/seed.ts',
},
datasource: {
url: env('DATABASE_URL'),
},
})
Current Command Behavior
- Run
prisma generateexplicitly aftermigrate dev,db push, or other schema syncs when you need fresh client output - Run
prisma db seedexplicitly aftermigrate devormigrate resetwhen you need seed data - Use
prisma db execute --file ...for raw SQL scripts
Environment Variables
Load environment variables explicitly in prisma.config.ts, commonly with dotenv:
// prisma.config.ts
import 'dotenv/config'
Rule Files
See individual rule files for detailed command documentation:
references/init.md - Project initialization
references/generate.md - Client generation
references/dev.md - Local development database
references/db-pull.md - Database introspection
references/db-push.md - Schema push
references/db-seed.md - Database seeding
references/db-execute.md - Raw SQL execution
references/migrate-dev.md - Development migrations
references/migrate-deploy.md - Production migrations
references/migrate-reset.md - Database reset
references/migrate-status.md - Migration status
references/migrate-resolve.md - Migration resolution
references/migrate-diff.md - Schema diffing
references/studio.md - Database GUI
references/mcp.md - Prisma MCP server
references/validate.md - Schema validation
references/format.md - Schema formatting
references/debug.md - Debug info
How to Use
Use the command categories above for navigation, then open the specific command reference file you need.
Related skills
More from prisma/skills and the wider catalog.
prisma-database-setup
Configure Prisma ORM with PostgreSQL, MySQL, SQLite, MongoDB, SQL Server, and other database providers.
prisma-client-api
Prisma Client API reference for database queries, CRUD operations, filtering, and transactions.
prisma-postgres
Prisma Postgres setup and operations across Console, CLI, and Management API.
prisma-driver-adapter-implementation
Reference guide for implementing Prisma v7 driver adapters with transaction lifecycle and error mapping details.
prisma-upgrade-v7
Complete migration guide from Prisma ORM v6 to v7 with breaking changes and driver adapter setup.
prisma-postgres-setup
Provision a new Prisma Postgres database and connect it to your local project via the Management API.