muryshev's picture
update
86c402d
raw
history blame
1.18 kB
import os
from fastapi import Depends
import logging
from typing import Annotated
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, scoped_session, Session
from common.configuration import Configuration
from components.dbo.models.base import Base
import components.dbo.models.feedback
import components.dbo.models.acronym
import components.dbo.models.dataset
import components.dbo.models.dataset_document
import components.dbo.models.document
import components.dbo.models.log
import components.dbo.models.llm_prompt
import components.dbo.models.llm_config
import components.dbo.models.entity
CONFIG_PATH = os.environ.get('CONFIG_PATH', './config_dev.yaml')
config = Configuration(CONFIG_PATH)
logger = logging.getLogger(__name__)
engine = create_engine(config.common_config.log_sql_path, connect_args={'check_same_thread': False})
session_factory = sessionmaker(autocommit=False, autoflush=False, bind=engine)
SessionLocal = scoped_session(session_factory)
def get_db_session_factory():
db = session_factory()
try:
yield db
finally:
db.close()
logger.info("Creating tables...")
Base.metadata.create_all(bind=engine)