我可以使用以下命令在 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
您可以通过使用 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}。这应该可以解决您所看到的语法错误。