GraphQL에 Prisma2 도입하기 (postgreSQL)

구남규·2021년 4월 27일
0

왜 prisma를 선택했는가?

prisma를 쓰기전에 부트캠프에서 처음으로 배웠던 DB와 ORM은 mysql, sequelize이었다
그래서 2주 프로젝트에서 mysql과 sequelize를 사용을 했었기 때문에 sequelize에 좀더 익숙해있었고 조금이라도 더 알고있었다

그러나 4주 프로젝트에서는 GraphQL이라는 스택을 도전적으로 사용함에 있어서 GraphQL이랑 어울리고 효과가 좋은 orm과 데이터베이스를 찾았고 그 결과 GraphQL 개발자가 만들었다던 prisma라는 orm을 찾았고 그 prisma가 sequelize에서 겪었던 불편함을 많이 커버해 줄수있다는것을 알게되었다

우선 sequelize는 모델과 마이그레이션을 따로 관리하기 때문에 테이블을 수정하거나 테이블간 관계 수정에 있어서 번거로웠고 어려웠던 불편함이 있었다

하지만 Prisma GraphQL 형식의 데이터모델만 작성하면 언어,데이터베이스 상관없이 ORM 클라이언트와 모델, 그리고 Data Schema 가 자동으로 생성되었다

prisma 모델 작성방식이랑 graphql 스키마작성 방식이 거의 유사하다는 것도 학습과 사용에 많은 도움이 되었다

Prisma, GraphQL 작성방식이 거의 유사함

GraphQL식의 스키마 작성 방식만 익히면 정말 편하고 간단하게 테이블을 생성하고 로직을 짤 수가있었고 prisma studio라는 자체 어드민 페이지가 있어서 백과 프론트간에 의사소통 및 데이터베이스를 손쉽게 관리하고 확인 할 수 있었다

단독 서버에서 쉽게 확인 할 수 있는 Prisma studio

Prisma를 사용하면서 느꼈던 단점

단점은 처음에 prsima를 학습하는 과정에서 sequelize보다 정보를 얻기에 어려웠고 예상치 못한 에러를 발견했을때 해결에있어서 해결이 어려웠다
에러 카드에도 작성을했지만 prisma에는 아직 cascade를 해줄 수 있는 기능이 없다고한다
그래서 회원탈퇴 로직을 작성할때 일일이 파고들면서 삭제를 해줘야하는 불편함이 있었다

Prisma 사용 후기

처음에 학습하여 사용할때에는 막막하고 힘들게만 느껴졌던 새로운 스택이 익숙해지고 나니까 편리하고 효율성이 좋아진 것을 느꼈다
또한 다른 앞으로 새로운 스택을 배워나감에 있어서 자신감이 생겼고 새로운 것을 배운다는 것에 재미를 느끼고 공부 할 수 있을것 같다

0개의 댓글