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

Next.js14中Prisma连接Supabase报错:prepared statement "s0"不存在

Prisma连接Supabase报错(Next.js 14):prepared statement "s0" does not exist

操作流程

  • 安装并初始化Prisma:
    npm install prisma --save-dev
    npx prisma init --datasource-provider postgresql
    
  • 配置.env文件中的Supabase数据库链接:
    DATABASE_URL="postgres://postgres.pnfqkgzzcnikiuchyljz:g2lIVbri0JazB7eV@aws-0-ap-southeast-1.pooler.supabase.com:6543/postgres"
    
  • 执行迁移命令:
    npx prisma migrate dev
    

报错信息

Error: Schema engine error:
ERROR: prepared statement "s0" does not exist

解决方法

1. 切换数据库连接端口

Supabase的连接池端口(6543)可能存在预编译语句限制,尝试切换到主数据库端口5432:

DATABASE_URL="postgres://postgres.pnfqkgzzcnikiuchyljz:g2lIVbri0JazB7eV@aws-0-ap-southeast-1.pooler.supabase.com:5432/postgres"

2. 升级Prisma版本

旧版本Prisma与Supabase连接池存在兼容性问题,升级到最新稳定版:

npm update prisma --save-dev

升级后重新执行npx prisma migrate dev。

3. 禁用预编译语句

在DATABASE_URL末尾添加连接参数,强制禁用预编译语句:

DATABASE_URL="postgres://postgres.pnfqkgzzcnikiuchyljz:g2lIVbri0JazB7eV@aws-0-ap-southeast-1.pooler.supabase.com:6543/postgres?pg_prepared_statements=0"

4. 清理Prisma缓存并重置迁移

执行以下命令清理缓存并重置迁移(注意:会清空数据库数据,请先备份):

npx prisma generate
npx prisma migrate reset --force

内容的提问来源于stack exchange,提问作者Shivam Kushwaha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 07:07:12