Prisma:在3张表之间建立关系的最佳方式是什么



我有以下模型。如何为这些表创建关系,以便获得与组关联的角色和与角色关联的组。一个组将具有多个角色。组和角色将单独添加。只有在添加了组之后,角色才能与其关联

model groups {
id          Int      @id @default(autoincrement())
group_name  String?  @unique
}
model roles {
id          Int      @id @default(autoincrement())
role_name   String?  @unique
}
model group_role_association {
id          Int      @id @default(autoincrement())
group_id    Int
role_id     Int
}

这似乎是一个隐式关系的用例。这是Prisma的一个功能,它允许您在不管理关系表的情况下对表之间的m-n关系进行建模(在您的示例中,我将group_role_association读取为关系表,而不是实际的"模型"(?

model groups {
id         Int        @id @default(autoincrement())
groups_name  String
roles      roles[]
}
model roles {
id          Int    @id @default(autoincrement())
role_name String
groups    groups[]
}

此外,我实际上建议您使用Prisma的命名约定(即以单数形式拼写模型名称和PascalCase表示法(:

model Group {
id    Int        @id @default(autoincrement())
name  String
roles Role[]
}
model Role {
id     Int    @id @default(autoincrement())
name   String
groups Group[]
}

相关内容

  • 没有找到相关文章

最新更新