일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 비동기
- MongoDB
- 위키백과
- post
- 2주차
- Get
- 항해99
- 3주차
- 숙제
- 부트스트랩
- node winston
- JWT
- 트랜잭션
- 웹 스크래핑(크롤링)
- Node.js
- cors
- OpenAPI
- db
- 5주차
- 스파르타코딩클럽
- Transaction
- 개발일지
- 4주차
- 노드 윈스턴
- Sequelize
- 1주차
- SQL
- NoSQL
- HTTPS
- nginx
- Today
- Total
목록
728x90
Transaction (2)
얼음꽃의 일지
지난 글에서 sequelize transaction 을 직접 거는글을 올려놨었는데요. 반대로 commit, rollback 이 잘못넣었거나 오류가 생겼을때 현상을 알려드릴려고 합니다. 1. commit 후 rollback 이 붙어있는 경우 const db = require('../../모델 위치'); exports.test = async (req, res) => { const transaction = await db.sequelize.transaction(); await transaction.commit(); await transaction.rollback(); return res.json(200); }; 이런경우 나오는 에러는 다음과 같습니다. Error: Transaction cannot be rol..
sequelize 가 설치되었다는 가정하에 작성되었습니다. transaction을 직접 걸어두는게 아니면 DB 설정에 따라 자동적으로 잡힙니다. 보통은 Auto Commit 형태로 되어있습니다. 근데 Auto Commit이 아닌 직접 거는 상황을 보여드립니다. 일단 Transaction은 보통 수행하는 작업의 단위를 묶기 위해서 사용하죠. Transaction을 사용하게 됐을때 제가 느낀 장단점은 [장점] 1. 한번에 묶어서 수행하기 때문에 확인하기 편함 2. 서버나 타 이슈로 인해 에러 발생시 한꺼번에 롤백이 되기때문에 강제로 commit 될 위험 없음 3. 원하는 곳에서 commit 할 수 있도록 설정 가능 [단점] 1. transaction 적용하면서 속도가 조금 느려짐 -> 속도는 transact..