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