我在 Prisma 数据建模中有一个问题,我必须限制用户只能为产品提交一条评论。对于不受约束的情况,我有以下设计。
应该
Customer
和Product
组合成ProductReview
模型中的主键,还是应该在应用程序服务器级别而不是在数据库级别施加此约束?
现在的数据模型(非约束版本):
type Product {
id: ID! @unique
title: String!
reviews: [ProductReview!]! @relation(name: "ProductReviews", onDelete: CASCADE)
}
type Customer {
id: ID! @unique
email: String @unique
}
type ProductReview {
id: ID! @unique
forProduct: Product! @relation(name: "ProductReviews", onDelete: SET_NULL)
byCustomer: Customer!
review: String!
ratinng: Float!
}