You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置可运行于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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.03 12:12:32