트랜잭션2 [JS] sequelize transaction commit, rollback 잘못 걸었을때 지난 글에서 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.. 2023. 11. 1. [DB] 트랜잭션의 ACID 트랜잭션 : 여러 개의 작업을 하나로 묶어서 실행하는 것입니다. 좀 더 자세히 말하자면 데이터베이스에서 트랙재션은 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위입니다. 단일 트랜잭션은 DB 내에 읽거나 쓰는 여러 개 쿼리를 요구합니다. 이때, 중요한 것은 데이터베이스가 수행된 일부 쿼리가 남지 않는 것입니다. 예를 들면, 송금을 할 때 한 계좌에서 인출되면 다른 계좌에서 입금이 확인되는 것이 중요합니다. 즉, 자신의 계좌에서 돈이 차감되고 나서 돈을 받은 계좌에서 입금이 되어야하는데 차감만 될뿐 입금이 안되면 돈이 증발 하기때문에 이런일이 발생하면 처음부터 다시 하도록 rollback 해주는 것입니다. 만약 문제가 없으면 그때는 commit을 해주는 것이구요. 이게 트랙잭션의 한 과정이.. 2022. 11. 29. 이전 1 다음