[DB][Prisma] transaction 설정하기
·
Backend/DB
DB API를 구현할 때는 한 번의 요청에 대해 여러 개의 함수를 실행하는 경우가 있습니다.이 때 중요한 것은 모든 함수가 한 번에 수행되어야 하는 것인데,중간에 오류가 발생해 처리가 중단되면, 처리가 완결되지 않은 불완전한 상태로 남기 때문입니다. 예를 들어 상품 재고를 관리하는 서버를 생각해봅시다.아래 코드는 주문(order) 요청을 처리하는 엔드포인트로, 크게 두 가지 절차를 진행합니다. 1. order 테이블에 새로운 주문정보에 해당하는 record를 추가 2. 해당 주문에서 요청한 상품들의 수량만큼 product 테이블에서 각 record들의 quantity를 감소(자세한 구현사항은 생략했습니다)const prisma = new PrismaClient();app.post('/order..