Prisma CLI 参考
Prisma ORM CLI 命令的参考。本技能提供命令用法、选项以及当前 Prisma ORM 发行版最佳实践的指导。
边界:Platform 与 Compute
不要将稳定的 ORM 命令 (prisma) 与公开测试版的 Platform 包 (@prisma/cli,二进制文件 prisma-cli) 混淆。对于 Compute 应用和工作区认证,请使用 prisma-compute;对于 Platform 项目和数据库,请使用 prisma-postgres。
何时应用
在以下情况参考本技能:
- 设置新的 Prisma 项目 (
prisma init) - 生成 Prisma Client (
prisma generate) - 运行数据库迁移 (
prisma migrate) - 管理数据库状态 (
prisma db push/pull) - 使用本地开发数据库 (
prisma dev) - 调试 Prisma 问题 (
prisma debug) - 生成 shell 补全 (
prisma complete)
按优先级划分的规则类别
| 优先级 | 类别 | 影响 | 前缀 | |----------|----------|--------|--------| | 1 | 设置 | 高 | init | | 2 | 生成 | 高 | generate | | 3 | 开发 | 高 | dev | | 4 | 数据库 | 高 | db- | | 5 | 迁移 | 关键 | migrate- | | 6 | 工具 | 中 | complete, studio, validate, format, debug, mcp |
命令类别
| 类别 | 命令 | 用途 | |----------|----------|---------| | 设置 | init | 初始化 Prisma 项目 | | 生成 | generate | 生成 Prisma Client | | 验证 | validate, format | Schema 验证与格式化 | | 开发 | dev | 用于开发的本地 Prisma Postgres | | 数据库 | db pull, db push, db seed, db execute | 直接数据库操作 | | 迁移 | migrate dev, migrate deploy, migrate reset, migrate status, migrate diff, migrate resolve | Schema 迁移 | | 工具 | complete, studio, mcp, version, debug | Shell、开发与 AI 工具 |
快速参考
项目设置
# 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
客户端生成
# Generate Prisma Client
prisma generate
# Watch mode for development
prisma generate --watch
# Generate specific generator only
prisma generate --generator client
Bun 运行时
使用 Bun 时,始终添加 --bun 标志,以便 Prisma 使用 Bun 运行时(否则由于 CLI shebang,它会回退到 Node.js):
bunx --bun prisma init
bunx --bun prisma generate
本地开发数据库
# 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
数据库操作
# 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
迁移(开发)
# 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
迁移(生产)
# 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
实用命令
# 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
# Generate shell completion code
prisma complete zsh
AI 安全检查点
当检测到 AI 代理时,Prisma 会阻止破坏性命令,直到该代理获得用户的明确同意。这涵盖 migrate reset、db push --force-reset 和 db push --accept-data-loss。
- 解释确切的数据丢失影响,并在运行命令之前立即征求同意。
- 不要从先前或无关的消息中推断同意。
- 如果自动化需要同意变量,请将
PRISMA_USER_CONSENT_FOR_DANGEROUS_AI_ACTION设置为用户的确切同意消息。不要编造文本。 - Prisma MCP 服务器故意没有
migrate-reset工具。
在任何破坏性 Prisma 命令之前,请阅读 references/agent-safety.md。
当前 Prisma CLI 设置
新配置文件
使用 prisma.config.ts 进行 CLI 配置:
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'),
},
})
当前命令行为
- 在
migrate dev、db push或其他 schema 同步之后,当你需要新的客户端输出时,请显式运行prisma generate - 在
migrate dev或migrate reset之后,当你需要种子数据时,请显式运行prisma db seed - 对于原始 SQL 脚本,使用
prisma db execute --file ...
环境变量
在 prisma.config.ts 中显式加载环境变量,通常使用 dotenv:
// prisma.config.ts
import 'dotenv/config'
规则文件
请参阅各个规则文件以获取详细的命令文档:
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/complete.md - Shell completion generation
references/agent-safety.md - AI consent checkpoint for destructive commands
references/validate.md - Schema validation
references/format.md - Schema formatting
references/debug.md - Debug info
如何使用
使用上面的命令类别进行导航,然后打开你需要的具体命令参考文件。