Python/sqlalchemy (3) 썸네일형 리스트형 SQLAlchemy: db pool 관리 DB connection pool from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker engine = create_engine( self._url, poolclass=QueuePool, pool_size=20, max_overflow=40, pool_timeout=70, pool_recycle=60, ) poolclass - 어떠한 connection pool을 사용할지에 대한 옵션 일반적으로 QueuePool을 사용하며, 옵션에 별도 명시하지 않을 경우 default 값이기도 하다. QueuePool - 재사용 가능한 pool 사용 - 다수의 동시적인 connection 허용 (multiple concurrent da.. FastAPI & SQLAlchemy: SQLAlchemy from 1.4 to 2.0 DB 연결 from fastapi import Depends from sqlalchemy import create_engine from sqlalchemy.orm import Session, sessionmaker from typing_extensions import Annotated engine = create_engine(DATABASE_URL) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine, expire_on_commit=True) async def get_db() -> Session: db = SessionLocal() try: yield db finally: db.close() db = Annotated[Se.. python sqlalchemy: MySQL, PostgreSQL 호환 작업 python ORM library중 하나인 sqlalchemy를 MySQL, PostgreSQL 모두 동작이 가능하도록 호환성을 고려하여 사용하기 1. Boolean: MySQL이든 PostgreSQL이든 Boolean Column 속성 사용하기 MySQL tinyint vs PostgreSQL boolean MySQL은 Boolean을 표현할 때 tinyint 타입을 권장 0을 false, 1을 true로 sqlalchemy로 Boolean type을 import하고 Column을 Boolean으로 설정하면 생성된 table의 column이 tinyint(1)로 설정되어 있는 것을 확인 가능 PostgreSQL은 boolean 타입 지원 boolean 타입 속성 컬럼에는 false, true 값이 들어.. 이전 1 다음