21 lines
824 B
Python
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)
|