/ 18_fastapi_serving / backend / database.py
database.py
 1  from sqlalchemy import create_engine
 2  from sqlalchemy.ext.declarative import declarative_base
 3  from sqlalchemy.orm import sessionmaker
 4  
 5  # 프로젝트 루트에 movie_app.db 파일이 생성됩니다.
 6  SQLALCHEMY_DATABASE_URL = "sqlite:///./movie_app.db"
 7  
 8  engine = create_engine(
 9      SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False}
10  )
11  SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
12  
13  Base = declarative_base()
14  
15  # DB 세션을 생성하고 닫아주는 의존성 함수
16  def get_db():
17      db = SessionLocal()
18      try:
19          yield db
20      finally:
21          db.close()