Files
DoubaoTeam/core/database.py
T
2026-09-21 00:46:55 +08:00

38 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'''
1.此文件已经配置 engine 和 SessionLocal .
由于还没合库,需要自己去 /core/database 配置库名。默认为 student_manager
具体配置如下
用户:root
密码:123456
IP:localhost
库名:student_manager
2.如果还没开始建库,建库时统一将名称命名为 student_manager。
如果已经建库或在 models 目录写好Base函数,那先别提交分支,不然合并的时候会出问题,后天合库的时候再说。
3.在 /models 目录下写数据库对应类时,不要自己写Base = declarative_base(),
直接 from core.database import Base ,否则会出现 Base 不一致的情况,导致数据库无法创建表。
'''
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker,declarative_base
from .config import (
database_connect_user,
database_connect_password,
database_connect_ip,
database_connect_database_name,
)
engine = create_engine( #engine负责连接mysql
f"mysql+pymysql://{database_connect_user}:{database_connect_password}@{database_connect_ip}/{database_connect_database_name}?charset=utf8mb4",
pool_size=50
)
SessionLocal = sessionmaker(bind=engine, autoflush=False,autocommit=False)
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
Base = declarative_base()