Prisma

    [NodeJs, GraphQL, Apollo, Express, Prisma, TypeScript] Setting

    GraphQL을 검색 서버에서 활용해보고 싶었다. 앱 내에 다양한 검색들이 있었는데, 검색 부분에서 restApi보단, endpoint를 동일하게하고, 프론트에서 원하는 데이터만 축출해가는 디자인 패턴이 더 효율적이라 생각했기 때문이다. 일단 프로젝트 배포전 임의로 셋팅 해봤다. app.ts import express from 'express'; import bodyParser from 'body-parser'; import cors from 'cors'; import apolloServer from './apollo/apolloserver'; import 'dotenv/config'; const main = async () => { const app = express(); app.use(express...

    [NestJs, Prisma] Prisma CRUD

    회사 내 특정 서비스들을 Nestjs + Prisma 로 바꾸고 싶었다. 기존 프로덕트는 모든게 생쿼리를 날리거나, 내가 직접 만든 orm을 사용했는데. 이게 처음엔 mysql이 뭔지도 모르는 초짜가 sql에 대해 학습하기 좋았지만, 점점 작업하면 할 수록 불편해졌다. 1. 내가 모든 컬럼을 외울 수도 없는 노릇 2. 모든 테이블을 혼자 만든 나도 이런데, 나말고 다른 백엔드 개발자가 보면 더 적응하기 힘들거라 생각 TypeORM과 Prisma중에 선택을 해야 했는데, Prisma를 선택했다. 추후 GraphQL을 사용할 건데, Prisma가 더 적합해 보였다. 단점은 AWS RDS Aurora에서 읽기 전용 DB를 지원하지 않는 다는 거였는데.. (prisma에 미들웨어처럼 넣어서 어거지로 할 수 있긴..

    [NestJs] Prisma2 셋팅

    다음 프로젝트의 DB와 연결하는 것은 쿼리를 직접 날리는 것 말고, orm을 사용하기로 했다. 후보는 Type+ORM과 Prisma이 있었고, 레퍼런스가 많고, 어느정도 대중화가 된 TypeORM을 이용하려고 했으나, GraphQL에 더 적합한 Prisma로 전환했다. Prisma는 기존 ORM과 근본적으로 다르며 새로운 종류의 ORM이라고 공식 문서에서 소개하고 있다. Is Prisma an ORM? | What is an ORM? Learn about how Prisma implements the Data Mapper ORM pattern and how it achieves the same goal as traditional ORMs without requiring you to map classes ..