Node.js에서 MySQL Transaction을 구현해보았습니다.
TypeORM, RawQuery를 사용하여 DB에 접근하였습니다.
진행순서는 하기와 같습니다.
1. START TRANSACTION로 TRANSACTION 시작지점 선언
2. DB에 삽입 될 데이터 생성
3. 생성 된 데이터를 수정(오류 발생 지점)
4. 오류가 발생된다면 ROLLBACK, 발생되지 않는다면 COMMIT
Javascript의 Try, Catch문을 사용하여,
정상완료시와 오류발생시 상황을 분리해줍니다.
정상완료시에는 Transaction 시작->데이터 생성->수정 된 데이터를 확인 할 수 있습니다.
오류발생시에는 Transaction 시작->데이터 생성->수정 중 에러->데이터 없이 Transaction 시작점으로 Rollback입니다.
자세한 상황은 하기 이미지와 같습니다.
1. 정상완료시(Transaction -> Commit)
2. 오류발생시(Transaction -> Rollback)
'웹개발자공부 > Node.js' 카테고리의 다른 글
NAVER SENS 문자발송 서비스(API v2)를 활용한 인증번호 발송 API 작성 (0) | 2023.02.07 |
---|