Alembic
-
AlembicPython/Today 2025. 8. 26. 09:20
DDL 중심으로테이블 마이그레이션을 위함특징설명데이터베이스 스키마 버전 관리Git과 유사하게, 데이터베이스 스키마의 변경 이력(revision)을 파일로 관리하고 추적합니다.DDL 중심CREATE, ALTER, DROP 등 데이터베이스의 구조를 변경하는 DDL 명령을 다룹니다. 데이터(DML)는 관리하지 않습니다.롤백 기능downgrade 명령을 통해 특정 버전으로 쉽게 되돌릴 수 있어, 문제가 발생했을 때 신속한 복구가 가능합니다.SQLAlchemy 연동SQLAlchemy와 완벽하게 통합되어 ORM 모델을 기반으로 마이그레이션 스크립트를 자동 생성(--autogenerate)하는 기능을 제공합니다.독립성Alembic은 데이터베이스에 관계없이 작동하며, alembic.ini 파일에 데이터베이스 연결 정보..
-
SQLAlchemy ORM 특징Python/Today 2025. 8. 22. 09:30
구분 설명ORM(Object Relational Mapping)파이썬 객체와 데이터베이스 테이블을 매핑하여 SQL 대신 객체 지향적으로 DB 조작 가능데이터베이스 독립성SQLite, PostgreSQL, MySQL, Oracle 등 다양한 DB 엔진을 지원하며 코드 변경 최소화세션(Session) 기반 관리DB 연결, 트랜잭션, 객체 상태(Transient, Pending, Persistent, Detached)를 세션에서 관리쿼리 빌더(Query Builder)스타일: 2.0 권장 스타일 사용 — select()/insert()/update()/delete() + session.execute(stmt) (과거 session.query()는 레거시).표현식 구성: 컬럼·연산자·함수를 조합해 SQL을 파이..