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)