monitoring/config/database.py

21 lines
824 B
Python

# _*_ coding: utf-8 _*_
# @Time :2022/5/29 09:41
# @Email :508737091@qq.com
# @Author :qiangyanwen
# @File :database.py
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from config import settings
from entity.setting_entity import MysqlModel
MYSQL = MysqlModel.copy(settings.DATABASE.Mysql)
SQLALCHEMY_DATABASE_URL = f"mysql+pymysql://{MYSQL.USERNAME}:{MYSQL.PASSWORD}@{MYSQL.HOST}:{MYSQL.PORT}/{MYSQL.DATABASE}?charset=utf8mb4"
engine = create_engine(SQLALCHEMY_DATABASE_URL, pool_pre_ping=True, pool_recycle=3600, pool_size=200, echo=True)
SessionLocal = sessionmaker(bind=engine)
DatabaseModel = declarative_base()
from models import Databases
for DatabaseModel in Databases:
DatabaseModel.metadata.create_all(engine)