그룹프로젝트에 Prisma ORM을 사용하다보니 불편한 점이 좀 있어서 까먹기 전에 포스팅
멘티들이 자신의 프로젝트를 등록하는 경우에 category를 사용하는 경우에
category를 생성하는 부분이다 먼저 create 로직을 구현하고
프로젝트 게시물을 생성하는 경우에 connection을 할 예정이다
findMany - in
을 사용하기 위해 Array로 재배치crate
findMany가 아닌 겹치는 데이터를 조회해서 제외 후 생성하는 점이 없어
배열 순회가 잦다 조금 더 좋은 코드가 있을 것 같지만 찾지는 못 했다
upsert
또한 Many를 사용할 방법이 없기 때문에 채택하지 못 했다
덕분에 2, 3번 코드가 추가로 사용해야 했고 코드가 깔끔하진 못 한거 같다..
4번 로직 또한 조금 이상한데 원래는 createMany
를 사용해주려고 했다
근데 return 값을 확인한후에 사용할수 없다는 것을 알았다.. createMany의 return 값은 해당 데이터들의 Array object가 아닌 count이다
데이터는 생성하지만 그 값들을 리턴을 해주진 않고
단순히 데이터들의 개수를 리턴해준다(도대체 무슨 의도인지 잘 모르겠다)
따라서 $transaction
으로 response를 순회하며 값을 조회해 트랜잭션을 한번에 날려 그 값을 리턴받는 방식으로 해결했다
그렇지 않으면 find 쿼리를 중복으로 날려야 되기 때문이다
이 문제는 github에서도 해결해달라고 말하고 있지만 수정은 안 된것 같다
(https://github.com/prisma/prisma/issues/8131)