对棱镜模型的多个字段的组合添加约束

Add constraint on combination of multiple fields of prisma model

我在 Prisma 中有这个模型:

model RegisteredPage {
  id        Int      @id @default(autoincrement())
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt

  domain String // instagram, youtube,...
  page   String // s4eed, dive, makeappwithme,...
}

我想在 domainpage 上添加约束,以便它们的组合是唯一的。我应该把它们组合成ID吗?

您需要使用 @@unique 属性。

可以使用 @@unique 属性在多个字段上定义唯一属性(也称为组合或复合唯一约束)。

这将在域和页面字段的组合上定义一个复合唯一索引。

model RegisteredPage {
  id        Int      @id @default(autoincrement())
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt

  domain String // instagram, youtube,...
  page   String // s4eed, dive, makeappwithme,...

  @@unique([domain, page])
}

这是使用 @@unique 属性的参考。