Prisma即使环境变量已配置,仍然抛出“未设置数据库主机或连接字符串”的错误

前端开发 2026-07-10

在我的Next.js应用(部署在Vercel上)访问“Add Your Store”页面时,会触发通过Prisma的数据库操作,导致以下错误:


No database host or connection string was set, and key parameters have default values

(host: localhost, user: undefined, db: undefined, password: null).

Is an environment variable missing? Alternatively, if you intended to connect

with these parameters, please set the host to 'localhost' explicitly.

堆栈:

  • Next.js(应用路由)

  • Prisma ORM(对象关系映射)

  • Neon PostgreSQL(无服务器)

  • 部署在Vercel上

我已完成:

  • 在Vercel的环境变量中设置 DATABASE\_URL(使用Neon的 pooler连接字符串)

  • 为迁移单独设置 DATABASE\_URL\_UNPOOLED

  • prisma migrate deploy 作为构建命令的一部分执行

我已检查:

  • 环境变量已在Vercel的仪表板中为正确的环境(生产/预览)定义

  • schema.prisma 引用 env("DATABASE\_URL")

  • 错误提示在运行时未获取到该变量(user: undefineddb: undefined

问题:

为什么Prisma在 Vercel上在运行时没有读取 DATABASE\_URL,以及在Neon PostgreSQL的无服务器Next.js部署中,确保连接字符串对Prisma可用的正确做法是什么?

解决方案

我也遇到了同样的问题,Prisma默认使用 .env 文件而不是 .env.local,请检查这一点。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章