setup kontor-schema
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
import logging.config
|
||||
from pathlib import Path
|
||||
import logging
|
||||
import os
|
||||
from typing import Annotated
|
||||
|
||||
import yaml
|
||||
|
||||
from fastapi import Depends
|
||||
from platformdirs import PlatformDirs
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker, Session
|
||||
|
||||
@@ -17,30 +16,19 @@ from .media import MediaFile, MediaArticle, MediaVideo
|
||||
from .base import Base
|
||||
from .database import KontorDB, ColumnEntry
|
||||
|
||||
dirs = PlatformDirs('kontor-docker')
|
||||
logging_config = Path(dirs.user_config_dir, 'logging-config.yaml')
|
||||
with open(logging_config, 'rt') as f:
|
||||
configDict = yaml.safe_load(f.read())
|
||||
logging.config.dictConfig(configDict)
|
||||
logger = logging.getLogger('development')
|
||||
logger.setLevel(logging.DEBUG)
|
||||
database_config = Path(dirs.user_config_dir, 'database-config.yaml')
|
||||
with open(database_config, 'rt') as f:
|
||||
db_config = yaml.safe_load(f.read())
|
||||
print(db_config)
|
||||
connect_string = ('mariadb+mariadbconnector://{}:{}@{}:{}/{}'.format(
|
||||
db_config['mariadb']['user'],
|
||||
db_config['mariadb']['password'],
|
||||
db_config['mariadb']['host'],
|
||||
db_config['mariadb']['port'],
|
||||
db_config['mariadb']['database']
|
||||
os.environ.get('DB_USER', 'kontor'),
|
||||
os.environ.get('DB_PASSWORD', 'kontor'),
|
||||
os.environ.get('DB_HOST', 'mariadb'),
|
||||
os.environ.get('DB_PORT', 3306),
|
||||
os.environ.get('DB_NAME', 'kontor')
|
||||
))
|
||||
engine = create_engine(connect_string)
|
||||
SessionLocal = sessionmaker(bind=engine)
|
||||
Base.metadata.create_all(bind=engine, checkfirst=True)
|
||||
|
||||
def get_db():
|
||||
logger.info("get_db")
|
||||
logging.info("get_db")
|
||||
with SessionLocal() as db:
|
||||
yield db
|
||||
|
||||
|
||||
Reference in New Issue
Block a user