본문 바로가기

Transaction2

SQLAlchemy에서 Transaction사용하기 SQLAlchemy에서는 Transaction을 사용하여 with 구문이 정상 실행시에 commit되고 구문내에서 예외 발생시에 rollback 되도록 할 수 있다. Commit As You Go SQLAlchemy 2.0 이상부터 제공되는 기능. 공식문서에 아래와 같이 안내되어 있다. 1.4 버전에서 테스트 해보니, commit()실행과 상관없이 각 실행이 autocommit되며 connection에서 commit()을 지원하지 않는다. New in version 2.0: “commit as you go” style is a new feature of SQLAlchemy 2.0. It is also available in SQLAlchemy 1.4’s “transitional” mode when usi.. 2024. 1. 21.
데이터베이스에서의 Transaction (트랜잭션) Transaction(트랜잭션) 이란? 데이터베이스 트랜잭션(Transaction)은 데이터베이스에서 논리적인 작업 단위를 묶어서, 하나의 논리적인 작업으로 처리하기 위한 것이다. 트랜잭션은 여러 개의 쿼리나 명령어를 수행할 때, 그룹 단위로 묶어서 하나의 작업으로 처리한다. 따라서 작업이 끝까지 수행되거나, 전혀 수행되지 않도록 보장(All or Nothing)하는 것이 특징이다. 은행 계좌의 데이터베이스를 생각해 봤을 때, "Alice가 Bob에게 100$ 이체"라는 하나의 event에 대해서 아래 4개의 update 쿼리가 필요하다고 하자. UPDATE accounts SET balance = balance - 100.00 WHERE name = 'Alice'; --잔액 테이블에서 앨리스 잔액 - .. 2023. 4. 23.