关于 prisma-cli
面向使用匹配版本项目的开发者和 Agent,提供 Prisma ORM 7 CLI 参考。内容按初始化、生成、数据库、迁移、开发和实用命令分类,并说明破坏性操作的安全要求。
主要功能
- 01Prisma 7 命令分类参考
- 02项目初始化与客户端生成
- 03数据库操作与迁移指南
- 04本地开发数据库命令
- 05危险操作的同意规则
适用场景
- 01为 Prisma 7 项目初始化配置
- 02生成 Prisma Client
- 03开发和部署数据库迁移
- 04执行数据库同步与调试
MCP 相关
说明可用 `prisma mcp` 启动供 AI 工具使用的 Prisma MCP 服务,并指出该服务不提供 `migrate-reset` 工具。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ prisma/ skills --skill prisma-cli安装后在 Claude Code 中输入/prisma-cli确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/agent-safety.mdcomplete.mddb-execute.mddb-pull.mddb-push.mddb-seed.mddebug.mddev.mdformat.mdgenerate.mdinit.mdmcp.mdmigrate-deploy.mdmigrate-dev.mdmigrate-diff.mdmigrate-reset.mdmigrate-resolve.mdmigrate-status.mdstudio.mdvalidate.md详细介绍
Prisma ORM 7 CLI 参考
这些命令和示例仅适用于 Prisma ORM 7。如需设置、修复连接或处理 Prisma 8 应用,请加载 prisma-orm-setup。
请使用与项目版本匹配的 CLI。不要安装浮动版本的 prisma@latest 来运行这些命令。
边界:平台与计算
不要混淆稳定的 ORM 命令(prisma)与公测版 Platform 包(@prisma/cli,二进制文件 prisma-cli)。Compute 应用和工作区身份验证请使用 prisma-compute,Platform 项目和数据库请使用 prisma-postgres-setup。
适用场景
在以下情况下参考此技能:
- 设置明确选择 Prisma 7 的项目(
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 | 架构验证与格式化 |
| 开发 | dev | 用于开发的本地 Prisma Postgres |
| 数据库 | db pull、db push、db seed、db execute | 直接执行数据库操作 |
| 迁移 | migrate dev、migrate deploy、migrate reset、migrate status、migrate diff、migrate resolve | 架构迁移 |
| 实用工具 | 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 安全检查点
Prisma 检测到 AI Agent 后,会阻止破坏性命令,直到该 Agent 获得用户明确同意。此限制适用于 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或其他架构同步操作后,显式运行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
使用方法
使用上述命令类别导航,然后打开所需的具体命令参考文件。