如何在 Prisma 中的多个 JSONB 字段上创建唯一索引?

问题描述 投票:0回答:1

我可以使用以下命令在 Postgresql Json 列上创建唯一索引:

@@unique([car])

但是,我需要根据年份、型号和颜色创建一个唯一索引:

@@unique([car->>'year', car->>'model', car->>'color'])

我反而得到:

Error: Prisma schema validation - (get-config wasm)
Error code: P1012
error: Error validating: This line is not a valid field or attribute definition.
  -->  schema.prisma:25
javascript reactjs postgresql prisma
1个回答
0
投票

您可以通过使用 Prisma 在

@@unique
指令内定义多个 JSONB 字段来创建唯一索引。但是,看起来可能存在语法错误。请让我为您更改:

model YourModel {
  id       Int      @id @default(autoincrement())
  car      Json     @db.Json
  @@unique([car->>'year', car->>'model', car->>'color'], name: "unique_car_details")
}

验证输入的是您的模型名称而不是 {YourModel}。这应该可以解决您所看到的语法错误。

© www.soinside.com 2019 - 2024. All rights reserved.