prisma-upgrade-v7 by prisma/skills
npx skills add https://github.com/prisma/skills --skill prisma-upgrade-v7从 Prisma ORM v6 迁移到 v7 的完整指南。本次升级引入了重大的破坏性变更,包括仅支持 ESM、必需的驱动适配器以及新的配置系统。
在以下情况下参考此技能:
prisma-client 生成器prisma.config.ts| 优先级 | 类别 | 影响 | 前缀 |
|---|---|---|---|
| 1 | 模式迁移 | 关键 | schema-changes |
| 2 | 数据库连接 | 关键 | driver-adapters |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 3 | 模块系统 | 关键 | esm-support |
| 4 | 配置与环境变量 | 高 | prisma-config, env-variables |
| 5 | 已移除的功能 | 高 | removed-features |
| 6 | Accelerate | 高 | accelerate-users |
schema-changes - Prisma v7 的生成器和输出迁移driver-adapters - 必需的适配器安装和客户端连接esm-support - ESM 的包/模块要求prisma-config - 创建和使用 prisma.config.tsenv-variables - 显式环境变量加载removed-features - 已移除的中间件、指标和标志accelerate-users - Accelerate 用户的迁移说明# 更新包
npm install @prisma/client@7
npm install -D prisma@7
# 安装驱动适配器(PostgreSQL 示例)
npm install @prisma/adapter-pg
# 安装 dotenv 用于环境变量加载
npm install dotenv
# 重新生成客户端
npx prisma generate
| 变更 | v6 | v7 |
|---|---|---|
| 模块格式 | CommonJS | 仅支持 ESM |
| 生成器提供者 | prisma-client-js | prisma-client |
| 输出路径 | 自动(node_modules) | 需要显式指定 |
| 驱动适配器 | 可选 | 必需 |
| 配置文件 | .env + 模式 | prisma.config.ts |
| 环境变量加载 | 自动 | 手动(dotenv) |
| 中间件 | $use() | 客户端扩展 |
| 指标 | 预览功能 | 已移除 |
针对每个破坏性变更的详细迁移指南:
references/esm-support.md - ESM 模块配置
references/schema-changes.md - 生成器和模式更新
references/driver-adapters.md - 必需的驱动适配器设置
references/prisma-config.md - 新的配置文件
references/env-variables.md - 环境变量加载
references/removed-features.md - 中间件、指标和 CLI 标志
references/accelerate-users.md - Accelerate 的特殊处理
{
"type": "module"
}
{
"compilerOptions": {
"module": "ESNext",
"moduleResolution": "bundler",
"target": "ES2023",
"strict": true,
"esModuleInterop": true
}
}
// 之前 (v6)
generator client {
provider = "prisma-client-js"
}
// 之后 (v7)
generator client {
provider = "prisma-client"
output = "../generated"
}
import 'dotenv/config'
import { defineConfig, env } from 'prisma/config'
export default defineConfig({
schema: 'prisma/schema.prisma',
migrations: {
path: 'prisma/migrations',
},
datasource: {
url: env('DATABASE_URL'),
},
})
# PostgreSQL
npm install @prisma/adapter-pg
# MySQL
npm install @prisma/adapter-mariadb mariadb
# SQLite
npm install @prisma/adapter-better-sqlite3
# Prisma Postgres
npm install @prisma/adapter-ppg @prisma/ppg
# Neon
npm install @prisma/adapter-neon
// 之前 (v6)
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
// 之后 (v7)
import { PrismaClient } from '../generated/client'
import { PrismaPg } from '@prisma/adapter-pg'
const adapter = new PrismaPg({
connectionString: process.env.DATABASE_URL
})
const prisma = new PrismaClient({ adapter })
npx prisma generate
npx prisma migrate dev # 如果需要
output 路径是否与导入路径匹配prisma generate 成功运行ssl: { rejectUnauthorized: false }首先遵循 references/schema-changes.md 和 references/driver-adapters.md,然后根据您的项目设置应用其余的参考文件。
每周安装量
1.1K
仓库
GitHub 星标数
26
首次出现
2026年2月4日
安全审计
安装在
github-copilot1.0K
codex1.0K
opencode1.0K
gemini-cli1.0K
amp989
kimi-cli988
Complete guide for migrating from Prisma ORM v6 to v7. This upgrade introduces significant breaking changes including ESM-only support, required driver adapters, and a new configuration system.
Reference this skill when:
prisma-client generatorprisma.config.ts| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Schema Migration | CRITICAL | schema-changes |
| 2 | Database Connectivity | CRITICAL | driver-adapters |
| 3 | Module System | CRITICAL | esm-support |
| 4 | Config and Env | HIGH | prisma-config, env-variables |
| 5 | Removed Features | HIGH | removed-features |
| 6 | Accelerate | HIGH | accelerate-users |
schema-changes - generator and output migration for Prisma v7driver-adapters - required adapter installation and client wiringesm-support - package/module requirements for ESMprisma-config - creating and using prisma.config.tsenv-variables - explicit environment loadingremoved-features - removed middleware, metrics, and flagsaccelerate-users - migration notes for Accelerate users# Update packages
npm install @prisma/client@7
npm install -D prisma@7
# Install driver adapter (PostgreSQL example)
npm install @prisma/adapter-pg
# Install dotenv for env loading
npm install dotenv
# Regenerate client
npx prisma generate
| Change | v6 | v7 |
|---|---|---|
| Module format | CommonJS | ESM only |
| Generator provider | prisma-client-js | prisma-client |
| Output path | Auto (node_modules) | Required explicit |
| Driver adapters | Optional | Required |
| Config file | .env + schema | prisma.config.ts |
| Env loading | Automatic | Manual (dotenv) |
Detailed migration guides for each breaking change:
references/esm-support.md - ESM module configuration
references/schema-changes.md - Generator and schema updates
references/driver-adapters.md - Required driver adapter setup
references/prisma-config.md - New configuration file
references/env-variables.md - Environment variable loading
references/removed-features.md - Middleware, metrics, and CLI flags
references/accelerate-users.md - Special handling for Accelerate
{
"type": "module"
}
{
"compilerOptions": {
"module": "ESNext",
"moduleResolution": "bundler",
"target": "ES2023",
"strict": true,
"esModuleInterop": true
}
}
// Before (v6)
generator client {
provider = "prisma-client-js"
}
// After (v7)
generator client {
provider = "prisma-client"
output = "../generated"
}
import 'dotenv/config'
import { defineConfig, env } from 'prisma/config'
export default defineConfig({
schema: 'prisma/schema.prisma',
migrations: {
path: 'prisma/migrations',
},
datasource: {
url: env('DATABASE_URL'),
},
})
# PostgreSQL
npm install @prisma/adapter-pg
# MySQL
npm install @prisma/adapter-mariadb mariadb
# SQLite
npm install @prisma/adapter-better-sqlite3
# Prisma Postgres
npm install @prisma/adapter-ppg @prisma/ppg
# Neon
npm install @prisma/adapter-neon
// Before (v6)
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
// After (v7)
import { PrismaClient } from '../generated/client'
import { PrismaPg } from '@prisma/adapter-pg'
const adapter = new PrismaPg({
connectionString: process.env.DATABASE_URL
})
const prisma = new PrismaClient({ adapter })
npx prisma generate
npx prisma migrate dev # if needed
output path in generator block matches import pathprisma generate ran successfullyssl: { rejectUnauthorized: false } to adapter configFollow references/schema-changes.md and references/driver-adapters.md first, then apply the remaining reference files based on your project setup.
Weekly Installs
1.1K
Repository
GitHub Stars
26
First Seen
Feb 4, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
github-copilot1.0K
codex1.0K
opencode1.0K
gemini-cli1.0K
amp989
kimi-cli988
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
102,200 周安装
Base44 CLI 工具 - 创建和管理 Base44 应用项目 | 命令行开发工具
936 周安装
SwiftUI 开发模式指南:状态管理、视图组合与导航最佳实践
937 周安装
Ant Design 最佳实践指南:React 组件库使用决策、主题配置与性能优化
937 周安装
Grimoire CLI 使用指南:区块链法术编写、验证与执行全流程
940 周安装
Grimoire Uniswap 技能:查询 Uniswap 元数据与生成代币/资金池快照的 CLI 工具
940 周安装
Grimoire Aave 技能:查询 Aave V3 元数据和储备快照的 CLI 工具
941 周安装
| Middleware | $use() | Client Extensions |
| Metrics | Preview feature | Removed |