[Python] db.flush()는 언제, 왜 사용하는가?
Dev/Python
·
2025. 4. 12.
서론FastAPI와 SQLAlchemy를 사용한 백엔드 개발을 하다 보면, 가장 기본적인 데이터 저장 흐름으로 db.add() → db.commit()을 익히게 됩니다. 하지만 어느 순간, db.flush()라는 생소한 메서드를 만나게 되는 경우가 있죠.이 함수는 왜 필요한 걸까요? 그냥 commit()만 하면 되는 거 아닌가요?이번 포스팅에서는 flush()와 commit()의 차이, flush()가 어떤 상황에서 필요한지, 그리고 실제 예제 코드에서는 어떻게 사용하는지를 초보자도 이해할 수 있게 정리해보겠습니다.본론flush()란 무엇인가요?db.flush()이 코드는 SQLAlchemy에서 세션에 등록된 작업들을 실제 DB에 반영하지만, 트랜잭션은 종료하지 않고 그대로 유지하는 역할을 합니다.좀 더..