返回 Bug 清单
BUG-0531project-52中已修复database-schema
Prisma 复合 @@unique map 参数不影响 TypeScript 生成的 WhereUniqueInput key
发现:2026-10-07验证:2026-10-27置信度:70%
症状
写 prisma.user.findUnique({ where: { user_platform_unique: { ... } } }) → TS red underline。必须用 userId_platform 当 key。
根因
Prisma schema 写 @@unique([userId, platform], map: 'user_platform_unique')。map 参数只控制 SQL index 名,不影响 TS 生成的 WhereUniqueInput key。TS 里实际生成的 key 是字段名字母序拼接 → userId_platform(不是 user_platform_unique)。按 SQL 名去查 Prisma 报错 property does not exist。
修复方案
记住 Prisma 的铁律:map 只给 SQL 用,TypeScript 生成的 WhereUniqueInput key 永远是字段名按字母序拼接。schema 里写了就要手动去生成的 .prisma/client/index.d.ts 里确认实际字段名,按那个写代码。
错误签名
Property 'user_platform_unique' does not exist on type 'UserWhereUniqueInput'技术信息
来源项目
project-52
涉及文件
packages/prisma/schema.prisma
标签
project-52, mcp-reported, source-agent