mcpField
P
prisma-cli

prisma-cli

github.com/prisma数据与数据库76395.1k 次安装1 天前更新
代码仓库

关于 prisma-cli

面向使用匹配版本项目的开发者和 Agent,提供 Prisma ORM 7 CLI 参考。内容按初始化、生成、数据库、迁移、开发和实用命令分类,并说明破坏性操作的安全要求。

主要功能

  1. 01Prisma 7 命令分类参考
  2. 02项目初始化与客户端生成
  3. 03数据库操作与迁移指南
  4. 04本地开发数据库命令
  5. 05危险操作的同意规则

适用场景

  1. 01为 Prisma 7 项目初始化配置
  2. 02生成 Prisma Client
  3. 03开发和部署数据库迁移
  4. 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.md
complete.md
db-execute.md
db-pull.md
db-push.md
db-seed.md
debug.md
dev.md
format.md
generate.md
init.md
mcp.md
migrate-deploy.md
migrate-dev.md
migrate-diff.md
migrate-reset.md
migrate-resolve.md
migrate-status.md
studio.md
validate.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、debugShell、开发和 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

使用方法

使用上述命令类别导航,然后打开所需的具体命令参考文件。

评论

支持 Markdown