키가 여러개 설정돼어있는 경우의 테이블에서 삭제를 해야함
보통 이런식으로 작성했는데
where: {
menu_id: id,
},
키가 여러개라서 쓰는 방식이 좀 다른거같음
await prisma.menu_function_info.update({
data: {
menu_func_nm,
},
//model 이 @@id([menu_id, menu_func_id])인 경우 where 사용법
where: {
menu_id_menu_func_id: {
menu_id: id,
menu_func_id,
},
},
});
prisma.schema 파일
model menu_function_info {
menu_func_id String @db.VarChar(20)
menu_id String @db.VarChar(20)
menu_func_nm String? @db.VarChar(50)
menu_func_class_id String? @db.VarChar(10)
menu_info menu_info @relation(fields: [menu_id], references: [menu_id])
role_menu_func_map role_menu_func_map[]
@@id([menu_id, menu_func_id])
}
//메뉴기능 삭제 시 role_menu_func_map 매핑정보도 삭제
const deleteRoleFunc = prisma.role_menu_func_map.delete({
where: {
menu_func_id_menu_id: {
menu_func_id: funcId,
menu_id: menuId,
},
},
});
const deleteFunc = prisma.menu_function_info.delete({
where: {
menu_id_menu_func_id: {
menu_id: menuId,
menu_func_id: funcId,
},
},
});
const transaction = await prisma.$transaction([deleteRoleFunc, deleteFunc]);