关于 Prisma CLI
prisma 是 Prisma ORM 的官方命令行工具。基于数据库 schema 生成类型安全的客户端、创建和应用迁移、扫描现有数据库、启动数据浏览工作室。支持与现有数据库的集成和完整的 schema 管理工作流。
主要功能
- 01根据 Prisma schema 生成类型安全的数据库客户端
- 02创建、预览和应用数据库迁移
- 03扫描现有数据库并生成 Prisma schema
- 04启动数据浏览工作室以视觉方式浏览和编辑数据
适用场景
- 01在开发中自动生成类型化的 ORM 客户端来减少重复代码
- 02通过版本控制管理数据库 schema 变更
- 03快速从现有数据库开始,自动生成数据模型
安装
选择你的系统或包管理器,复制命令到终端运行。
安装完成后运行prisma --version确认安装成功。
命令示例
常用命令按使用顺序排列。
详细介绍
在使用 Prisma 7? 它会在
8.0.0正式版发布后维护十八个月;支持的版本说明了具体范围。其源代码位于本仓库的v7分支,文档位于 prisma.io/docs/orm/v7。
Prisma 8 是候选发布版。 预计将在未来四到八周内发布
8.0.0正式版。在此之前,候选发布版可能包含破坏性变更;每个版本都会附带升级方案,由prisma-8技能为你应用。候选版本已实现完整功能,我们对其有信心:我们会紧急处理其中的错误;你承担的风险是某项功能尚未实现,而不是版本频繁变动。功能进度表列出了所有差距。新项目应从这里开始。现有的 Prisma 7 应用可以逐步迁移;Prisma 7 会在8.0.0正式版发布后,于v7分支维护十八个月。为仓库点星,关注 X 上的 @prisma,或阅读 Prisma 博客。
Prisma 8 是 Prisma ORM 的 TypeScript 重写版本,默认具备可扩展、可组合和适合 AI Agent的特性。阅读公告,或从文档开始。
前置条件
- Node.js 24 或更高版本
- 包管理器(
npm、pnpm或yarn)
开始使用
1. 搭建新项目
交互式脚手架会选择应用模板(Next.js、Hono、Nuxt、Astro、NestJS、SvelteKit、TanStack Start 或 Elysia),并根据你选择的数据库(PostgreSQL 或 MongoDB)配置 Prisma 8:
npm create prisma
完成后,你将获得一个可运行的应用、一个入门契约,以及已安装的 Agent 技能。有关所有模板和标志的详情,请参阅 create-prisma 参考文档,或按照 PostgreSQL 和 MongoDB 快速入门指南操作。
2. 或者,将 Prisma 8 添加到现有项目
在仓库根目录运行:
npx prisma orm init
orm init 会在 src/prisma/ 下写入 prisma.config.ts、搭建入门契约和 db.ts,安装运行时并生成契约。它不会改动你的框架或构建配置。然后安装 Agent 技能:
npx prisma skills sync
请参阅 orm init 和 skills CLI 参考文档,或查看有关向现有 PostgreSQL 或 MongoDB 应用添加 Prisma 8 的指南。
3. 用 AI Agent 处理 Prisma 8 的所有事务
两个安装程序都会在项目根目录放置顶层 prisma-8.md 入门文档,供任何 Agent 首先阅读;还会为每个工作流安装一个 SKILL.md,放入 Agent 运行时会读取的目录:
.claude/skills/<skill-name>/SKILL.md— Claude Code.cursor/skills/<skill-name>/SKILL.md— Cursor.agents/skills/<skill-name>/SKILL.md— Copilot Agent 和其他运行时通用的位置.devin/skills/<skill-name>/SKILL.md— Devin
这些技能随项目安装的 Prisma 包一同发布,因此始终对应当前使用的版本。你的编辑器 AI 助手会在提示词与技能匹配时自动加载相应技能。
只需描述你想做什么。例如:
“添加一个
posts模型,并建立与users的关联,然后编写一个查询,加载每位用户最近的三篇帖子。”
Agent 会加载 prisma-8 技能,打开其规范和查询参考,然后端到端地完成更改。
完整目录及各项技能的说明,请参阅 skills/README.md。
发现了 Bug、缺少某项功能,或有问题想问团队?
询问你的 Agent。prisma-8 技能的反馈流程会起草结构化的 GitHub issue,或提供 Prisma Discord 链接,方便你实时问答。提交前,你可以先检查并确认。
面向扩展作者
Prisma 8 的核心精简至极。包括 Postgres 支持本身在内的所有外围功能,都基于任何作者均可使用的同一公共 SPI 构建。如果你一直想让自己的工具、数据库或库与 Prisma 集成,这就是实现方式。
已发布的扩展:
@prisma/orm-extension-pgvector:向量列和相似性搜索。@prisma/orm-extension-postgis:几何列和地理查询。@prisma/orm-extension-paradedb:BM25 全文搜索索引(实验性)。@prisma/orm-extension-supabase:Supabase 身份验证和存储表、基于角色的客户端(实验性)。@prisma/orm-extension-arktype-json:由 arktype schema 验证的 JSON 列。@cipherstash/prisma-next:可搜索加密和数据级访问控制。
有关如何安装和注册扩展,请参阅使用扩展。想要发布自己的扩展?**扩展作者征集**会介绍 SPI、扩展可以接入的层,以及团队如何为新扩展添加功能。
支持的数据库
- PostgreSQL — 主要目标,提供一流支持
- MongoDB — 提供一流支持
- SQLite — 后续计划支持,目前已有概念验证
SQLite 之后将支持 MySQL。各数据库目前支持的功能,请参阅功能对照表。
贡献
有关环境设置、命令、DCO 签署和 PR 要求,请参阅 CONTRIBUTING.md。对于实质性更改,请先提交 issue,以便我们在你投入实现时间之前,提供与项目方向相符的反馈。愿景介绍了 Prisma 8 的发展方向,指导清单列出了我们已经答复过的请求及相应替代方案。
安全问题:请遵循 SECURITY.md 中的私有漏洞报告流程。请勿将其作为公开 issue 提交。
社区
用 Prisma 8 构建了什么?在 X 上标记 @prisma。优秀的社区作品会获得特别介绍,并在此处附上链接。
- Discord:在 Discord 上与我们交流
- X:@prisma
- 博客:prisma.io/blog
许可证
Apache 2.0。请参阅 LICENSE。