[FastAPI] SQLAlchemy 객체 상태 관리 (expire, refresh, flush, commit, rollback)


[FastAPI] SQLAlchemy 객체 상태 관리 (expire, refresh, flush, commit, rollback)

함수 flush, commit, refresh, rollback이 자주 사용된다. 함수 설명 Refresh - 객체의 최신 상태 데이터가 필요한 경우 - 만약, 스레드에서 변경이 되어 변경 이전에 데이터를 가져왔을 경우에는 "refresh()"를 통하여 항상 최신 데이터를 가져올 수 있다. Flush - "flush"는 DB 버퍼에 변경된 사항들을 반영하는 것을 의미한다. (DB 반영 X) - "autocommit=True"일 경우 자동 "commit" 된다. - "autocommit=False"일 경우 DB 버퍼에만 저장 후 "commit"이 호출되면 저장한다. ※ "commit" 전 DB에 반영할 사항들을 모아놓는 곳을 DB Transaction buffer라 한다. Commit - 데이터를 저장할 경우 - 버퍼에 올라있던 사항들을 모두 DB에 반영한다. Rollback - 데이터를 이전으로 되돌릴 경우 Merge - 일부 키를 사용하여 동일한 데이터베이스 레코드에 매핑되는 메모...


#commit #expire #fastapi #flush #refresh #rollback #sqlalchemy

원문링크 : [FastAPI] SQLAlchemy 객체 상태 관리 (expire, refresh, flush, commit, rollback)