Spaces:
Sleeping
Sleeping
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) |