RSS DEV 커뮤니티

프리즈마로 페이징을 구축하는 것은… 불필요하게 복잡하게 느껴졌다

저자는 풀 스택 개발 능력을 향상시키기 위해 작은 프로젝트를 구축하기로 결정하고 Prisma를 ORM으로 선택했습니다. 페이지네이션을 구현하는 과정에서 Prisma가 단일 쿼리로 데이터와 총 개수를 모두 반환하는 내장 메서드를 제공하지 않는다는 것을 발견했습니다. 이는 두 개의 별도 쿼리를 실행해야 함을 의미하며, 복잡한 조건에서는 악몽이 될 수 있습니다. 저자는 Prisma의 GitHub 페이지에서 2021년부터 사용자들로부터 `findManyAndCount` 기능 요청이 있었던 오픈 이슈를 발견했습니다. 해결 방법으로는 트랜잭션 또는 Promise.all을 사용하는 방법이 있지만, 이러한 접근 방식은 데이터 일관성 문제점을 가지고 있습니다. 이러한 경험을 통해 저자는 도구를 선택할 때 도구의 제한 사항을 확인하고 트레이드오프를 평가하는 것이 얼마나 중요한지를 다시 한번 깨달았습니다. 저자는 Prisma 또는 다른 ORM을 사용하면서 유사한 문제에 직면한 다른 사람들의 경험과 해결 방법에 대한 공유를 기다리고 있습니다.
favicon
dev.to
Building pagination with Prisma felt… unnecessarily complex