如何配置可运行于Vercel Edge Runtime的Prisma v7与Prisma Accelerate
Vercel Edge Runtime 配置 Prisma v7 + Prisma Accelerate 指南
1. 安装对应依赖
- 升级或安装最新版 Prisma:
npm install prisma@latest - 同步安装 Edge 适配的客户端与 Accelerate 依赖:
npm install @prisma/client@latest @prisma/accelerate@latest
2. 修改 Prisma 配置文件
编辑 prisma/schema.prisma,启用 Accelerate 预览特性并配置数据源:
generator client { provider = "prisma-client-js" previewFeatures = ["accelerate"] // 必须开启该特性才能使用 Accelerate } datasource db { provider = "postgresql" // 替换为你实际使用的数据库类型,如 mysql url = env("DATABASE_URL") // 该变量将填入 Accelerate 提供的代理连接地址 }
3. 指定 Edge Runtime
在你的 Edge 函数/路由文件(比如 app/api/xxx/route.ts 或 pages/api/edge.ts)顶部添加声明:
export const runtime = 'edge'; // 明确告知 Vercel 使用 Edge Runtime
4. 初始化 Edge 兼容的 Prisma Client
新建 lib/prisma.ts 文件,使用 Edge 专属客户端并集成 Accelerate:
import { PrismaClient } from '@prisma/client/edge'; import { withAccelerate } from '@prisma/accelerate'; const prisma = new PrismaClient().$extends(withAccelerate()); export default prisma;
注意:必须导入
@prisma/client/edge,而非默认的@prisma/client,后者仅适配 Node.js 环境。
5. 配置 Vercel 环境变量
- 进入 Vercel 项目的「Settings > Environment Variables」,添加
DATABASE_URL,值为 Prisma Accelerate 生成的代理连接字符串(格式示例:prisma://accelerate.prisma-data.net/?api_key=你的API密钥) - 开启「Automatically expose System Environment Variables」选项,确保环境变量能被 Edge 函数读取
6. 测试与部署
- 本地测试:执行
vercel dev启动本地 Edge 环境,调用接口验证数据库查询是否正常 - 部署上线:推送代码至 Vercel,查看函数日志确认无运行时错误
常见问题排查
- 出现「Prisma Client not configured for Edge Runtime」错误:检查是否导入了错误的客户端,或代码中使用了 Node.js 专属 API(如
fs、child_process) - 连接超时:确认 Accelerate API 密钥有效,且数据库网络配置允许 Accelerate 代理访问
- 预览特性报错:检查
schema.prisma中previewFeatures是否包含"accelerate"
内容的提问来源于stack exchange,提问作者Shamxeed
相关产品推荐
相关产品推荐

