我在使用Prisma和Nest JS时遇到了一个问题:
我有一个选项列表实体,其中包含可用于前端的不同选项列表。此外,我还有一个选项列表值实体,其中包含每个选项列表可用的值。我当前面临的问题是,每个选项列表只能有一个默认选项列表值,而其他多个值不是默认值。现在,每个选择列表只能有2个选择列表值-一个默认值和一个无默认值。
我怎样才能做到这一点?
选择列表实体:
model Picklist {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
picklistName String @db.VarChar(255)
picklistApiName String @db.VarChar(255)
picklistValues PicklistValues[]
@@map("Picklists")
}
选择列表值实体:
model PicklistValues {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
value String @db.VarChar(255)
apiName String @db.VarChar(255)
defaultValue Boolean
inactiveValue Boolean
picklistId Int
picklist Picklist @relation(fields: [picklistId], references: [id])
@@unique([picklistId, defaultValue])
}
我知道问题来自@@unique([picklistId, defaultValue])
,但我还没有找到解决方案来改变它。
1条答案
按热度按时间6ojccjat1#
Prisma目前还不支持创建部分索引。在这方面有一个开放的issue。你也可以在开放的问题中添加你的用例。你也可以创建一个自定义的migration并手动添加部分索引的SQL代码。