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

如何在Vercel界面查询Prisma创建的Postgres数据库?

问题:Prisma创建的表在Vercel界面查询提示关系不存在,API却能正常工作

核心原因

Prisma默认遵循一套命名转换规则:它会把你定义的大驼峰模型名,自动转换为蛇形复数格式作为数据库实际表名。比如你代码里的Story模型,对应到数据库中的表名是stories,而不是你尝试的Story或story。

解决方法

  1. 直接使用正确的表名查询
    在Vercel界面执行SQL时,改用实际的表名:
SELECT * FROM stories;
  1. 自定义表名(可选)
    如果不想用默认的复数表名,可以在模型上通过@@map指令指定自定义表名,比如强制使用单数story:
model Story {
  id         String   @id @default(cuid())
  title      String   @unique
  tags       String[]
  category   String
  created_by String
  private    Boolean  @default(true)
  rate       String
  content    Bytes
  Category   Category @relation(fields: [category], references: [id])
  Creator    User     @relation(fields: [created_by], references: [id])

  @@map("story") // 自定义表名为story
}

修改后重新运行迁移,之后不管用Prisma API还是直接SQL查询,都可以用story作为表名。

补充说明

Prisma的API(比如prisma.story.findAll)是基于你定义的模型名来封装操作的,它内部会自动处理模型名到数据库表名的映射,所以你不需要手动转换格式,这也是为什么API能正常工作的原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 15:47:38