Ireneusz Bachanowicz 935a8a49ae
Some checks are pending
CI/CD Pipeline / test (push) Waiting to run
Almost stable tests
2025-07-17 02:21:56 +02:00

35 lines
985 B
Python

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, Session
from sqlalchemy.ext.declarative import declarative_base
from contextlib import contextmanager
from loguru import logger
from database.models import Base
DATABASE_URL = "sqlite:///./jira_analyses.db"
engine = create_engine(DATABASE_URL, connect_args={"check_same_thread": False})
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
def init_db():
"""Initializes the database by creating all tables."""
logger.info("Initializing database...")
Base.metadata.create_all(bind=engine)
logger.info("Database initialized successfully.")
@contextmanager
def get_db():
"""Context manager to get a database session."""
db = SessionLocal()
try:
yield db
finally:
db.close()
def get_db_session():
"""FastAPI dependency to get a database session."""
db = SessionLocal()
try:
yield db
finally:
db.close()