Spaces:
Sleeping
Sleeping
File size: 1,183 Bytes
57cf043 86c402d 57cf043 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
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) |