返回技能市场
开发运维 安全

prisma-cli

@admin/prisma-cli

Prisma ORM CLI commands reference covering init, generate, migrate, db, dev, complete, studio, validate, format, debug, and mcp. Use for ORM/database CLI workflows, not the Prisma Platform CLI. Triggers on "prisma init", "prisma generate", "prisma migrate", "prisma db", "prisma complete", "prisma studio", "prisma mcp".

admin 热度 267v0.0.1

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 resetdb push --force-resetdb 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 devdb push 或其他 schema 同步之后,当你需要新的客户端输出时,请显式运行 prisma generate
  • migrate devmigrate 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

如何使用

使用上面的命令类别进行导航,然后打开你需要的具体命令参考文件。

qianwen skills install @admin/prisma-cli