数据库
使用 Prisma ORM CLI 进行初始化…
适用于 Prisma ORM 项目的 CLI 操作,包括 init、generate、migrate、db、dev、studio、validate、format、debug 和 mcp。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
使用 Prisma ORM CLI 进行特定
解决思路
- ORM 场景使用 `prisma` 命令;Compute 应用和 workspace auth 使用 `prisma-compute`;Platform 项目和数据库使用 `prisma-postgres`;不要混淆 `prisma` 与 public-beta Platform 包 `@prisma/cli`、二进制 `prisma-cli`。
- 按优先级处理命令类别:1 Setup(`init`),2 Generation(`generate`),3 Development(`dev`),4 Database(`db-`),5 Migrations(`migrate-`,CRITICAL),6 Utility(`complete`、`studio`、`validate`、`format`、`debug`、`mcp`)。
- 按命令类别选择:Setup 用 `init` 初始化项目;Generation 用 `generate` 生成 Prisma Client;Validation 用 `validate`、`format` 校验和格式化 schema;Development 用 `dev` 启动本地 Prisma Postgres;Database 用 `db pull`、`db push`、`db seed`、`db execute` 做直接数据库操作;Migrations 用 `migrate dev`、`migrate deploy`、`migrate reset`、`migrate status`、`migrate diff`、`migrate resolve` 做 schema 迁移;Utility 用 `complete`、`studio`、`mcp`、`version`、`debug`。
- 初始化新项目并创建 `prisma/` 文件夹和 `prisma.config.ts`:`prisma init`。
- 用指定数据库初始化:`prisma init --datasource-provider postgresql`。
- 用指定数据库初始化:`prisma init --datasource-provider mysql`。
- 用指定数据库初始化:`prisma init --datasource-provider sqlite`。
- 用 Prisma Postgres 云数据库初始化:`prisma init --db`。
- 用示例模型初始化:`prisma init --with-model`。
- 生成 Prisma Client:`prisma generate`。
- 开发模式下 watch 生成 Prisma Client:`prisma generate --watch`。
- 只生成指定 generator:`prisma generate --generator client`。
- 使用 Bun 时始终加 `--bun` 标志,例如 `bunx --bun prisma init`、`bunx --bun prisma generate`,避免因 CLI shebang 回退到 Node.js。
- 启动本地 Prisma Postgres 开发数据库:`prisma dev`。
- 以指定名称启动本地实例:`prisma dev --name myproject`。
- 后台 detached 启动本地实例:`prisma dev --detach`。
- 列出所有本地实例:`prisma dev ls`。
- 停止指定本地实例:`prisma dev stop myproject`。
- 删除指定实例数据:`prisma dev rm myproject`。
- 从现有数据库拉取 schema:`prisma db pull`。
- 将 schema 推送到数据库,不生成迁移:`prisma db push`。
- 种子数据库:`prisma db seed`。
- 执行原始 SQL:`prisma db execute --file ./script.sql`。
- 开发环境创建并应用迁移:`prisma migrate dev`。
- 创建带名称的迁移:`prisma migrate dev --name add_users_table`。
- 仅创建迁移而不应用:`prisma migrate dev --create-only`。
- 重置数据库并应用所有迁移:`prisma migrate reset`。
- 生产/CI/CD 中应用待执行迁移:`prisma migrate deploy`。
- 检查迁移状态:`prisma migrate status`。
- 比较 schema 并生成 diff:`prisma migrate diff --from-config-datasource --to-schema schema.prisma --script`。
- 解析迁移问题:`prisma migrate resolve`(详见 `references/migrate-resolve.md`)。
- 打开 Prisma Studio 数据库 GUI:`prisma studio`。
- 启动 Prisma MCP server 供 AI 工具使用:`prisma mcp`。
- 显示版本信息:`prisma version` 或 `prisma -v`。
- 输出调试信息:`prisma debug`。
- 校验 schema:`prisma validate`。
- 格式化 schema:`prisma format`。
- 生成 shell 补全代码:`prisma complete zsh`。
- AI 安全:Prisma 检测到 AI agent 时会阻止破坏性命令,直到获得明确用户同意;覆盖 `migrate reset`、`db push --force-reset`、`db push --accept-data-loss`。
- 在运行破坏性命令前立即解释确切的数据丢失影响并请求用户同意。
- 不要从更早或不相关的消息推断用户同意。
- 如果自动化需要 consent 变量,将 `PRISMA_USER_CONSENT_FOR_DANGEROUS_AI_ACTION` 设为用户的确切同意文本,不要编造。
- 注意 Prisma MCP server 故意没有 `migrate-reset` 工具。
- 在任何破坏性 Prisma 命令前阅读 `references/agent-safety.md`。
- 使用 `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 同步后,若需要最新 client 输出,显式运行 `prisma generate`。
- 在 `migrate dev` 或 `migrate reset` 后,若需要种子数据,显式运行 `prisma db seed`。
- 使用 `prisma db execute --file ...` 执行原始 SQL 脚本。
- 在 `prisma.config.ts` 中显式加载环境变量,通常用 `dotenv`:`import 'dotenv/config'`。
- 按需打开具体命令参考文件:`references/init.md`、`references/generate.md`、`references/dev.md`、`references/db-pull.md`、`references/db-push.md`、`references/db-seed.md`、`references/db-execute.md`、`references/migrate-dev.md`、`references/migrate-deploy.md`、`references/migrate-reset.md`、`references/migrate-status.md`、`references/migrate-resolve.md`、`references/migrate-diff.md`、`references/studio.md`、`references/mcp.md`、`references/complete.md`、`references/agent-safety.md`、`references/validate.md`、`references/format.md`、`references/debug.md`。
- 使用命令类别进行导航,然后打开需要的具体命令参考文件。
适用边界 · 注意事项
- 不适用于 Prisma Platform CLI(`@prisma/cli`、二进制 `prisma-cli`)或 Prisma Platform 项目/数据库;这些应使用 `prisma-postgres`。
- 不适用于 Prisma Compute 应用和 workspace auth;这些应使用 `prisma-compute`。
- 不适用于非 Prisma ORM 项目或与 Prisma CLI 无关的数据库操作。