Prisma ORM 搭建
本skill负责搭建和连接工作中的ORM版本选择。请保留应用的ORM版本和目标数据库。连接修复无需进行大版本升级。
新应用默认使用
Prisma ORM 8。Prisma 8的详细配置、查询、迁移和运行时代码由ORM包附带的版本化
prisma-8 skill负责。
1. 确定起始状态
读取包清单、锁文件、Prisma配置、schema和应用导入语句,识别ORM版本、数据库提供商和运行时环境。仅通过CLI版本无法确定应用的实际版本:Prisma 8 CLI可以与旧版客户端共存,因此需要检查
、
以及schema和配置文件。
| 起始状态 | 操作路径 |
|---|
| Prisma 8 应用 | 直接进入第4步,无需重新初始化 |
| 未选择版本的新应用 | 进入第3步 |
| Prisma 6或7应用,或明确指定使用更早的主版本 | 第5步 |
对于新应用,安装前请检查所选Prisma 8版本的
数据库提供商支持列表和运行时要求。如果目标数据库提供商不受支持,请说明限制,并提供明确指定的更早版本选项。保留用户请求的数据库;不要静默降级或虚构一个受支持的目标数据库。
如果用户提供了现有数据库,请直接使用。仅当需要使用Prisma Postgres且尚未选择连接方式时,才加载
;连接完成后返回本流程。
2. 单独处理用户请求的大版本升级
当用户请求大版本升级时,加载支持源版本和对应数据库提供商的工作流。对于PostgreSQL从7升级到8的场景,使用
Prisma迁移指南;对于MongoDB从6升级到8的场景,使用
prisma-mongodb-upgrade。其他数据库提供商需要有明确支持的迁移路径。
负责
6到7的升级;包自带的
升级参考负责8版本内的更新。
3. 初始化新的Prisma 8应用
检查所选版本的
运行时要求和
初始化指南。解析并锁定已发布的Prisma CLI
8 版本,必要时包含其预发布后缀;初始化前请验证版本号。不要依赖浮动的
标签来保持版本为8。
使用项目的包管理器运行已安装的CLI。对于PostgreSQL和Prisma schema语言(PSL)编写场景:
bash
prisma orm init --yes --target postgres --authoring psl
为所选的数据库提供商使用受支持的目标参数。保留现有应用文件和连接配置;不要让搭建过程自动预置一个无关的数据库。继续操作前,请确认解析到的ORM包版本为8。
4. 加载已安装的Prisma 8指南
通过项目的包管理器运行已安装的CLI:
然后
阅读同步后的
(例如
.agents/skills/prisma-8/SKILL.md
),并遵循其前置条件和选定的参考内容。仅执行同步操作不会加载相关说明。如果无法加载包自带的指南,请报告阻塞问题。之后继续执行第6步。
5. 搭建或修复更早版本的Prisma
对于明确指定使用更早版本的新搭建场景,请将包锁定到对应主版本,并使用该版本的运行时要求。保持CLI、客户端和SQL适配器的版本兼容。如果只是连接修复,无需更改现有依赖。
- Prisma 7 SQL: 使用下方的数据库提供商参考和客户端搭建指南。
- Prisma 6 MongoDB: 使用MongoDB搭建指南。SQL驱动适配器不适用。
- Prisma 6 SQL: 保留其生成器、schema URL和客户端初始化配置。使用下方对应数据库提供商的连接详情和Prisma 6官方文档;不要将Prisma 7的配置或适配器示例复制到Prisma 6项目中。
| 数据库 | 参考文档 |
|---|
| PostgreSQL | PostgreSQL |
| MySQL / MariaDB / PlanetScale | MySQL |
| SQLite / Turso | SQLite |
| Microsoft SQL Server / Azure SQL | SQL Server |
| CockroachDB | CockroachDB |
| Prisma 6 适配的 MongoDB / Atlas | MongoDB |
| 搭配 Prisma 7 使用的 Prisma Postgres | Prisma Postgres |
Prisma 7 SQL示例已在Prisma 7.10.0版本上验证;MongoDB示例已在Prisma 6.19.3版本上验证。
6. 连接并验证
CLI和应用可能加载不同的环境变量文件。请为两者加载对应的目标环境,不要打印密钥信息,将凭证保存在被忽略的环境变量文件或主机的密钥配置中。对于SQL适配器,请确保适配器的运行时选项指向的数据库与CLI连接URL指向的数据库一致。
对于现有应用,除非请求的工作需要更改,否则请保留schema、迁移文件和生成器配置。在运行会修改schema的命令前,先排查连接问题。
运行项目相关的检查,并通过应用的客户端对目标数据库执行一次只读查询。报告ORM版本、适用情况下已加载的
skill版本,以及查询结果。仅完成包安装或skill同步并不代表搭建完成。