Files
DoubaoTeam/core/database.py
T

39 lines
1.3 KiB
Python
Raw Normal View History

2026-09-20 19:45:36 +08:00
'''
1.此文件已经配置 engine 和 SessionLocal .
由于还没合库,需要自己去 /core/database 配置库名。默认为 student_manager
具体配置如下
用户:root
密码:123456
IP:localhost
库名:student_manager
2.如果还没开始建库,建库时统一将名称命名为 student_manager。
如果已经建库或在 models 目录写好Base函数,那先别提交分支,不然合并的时候会出问题,后天合库的时候再说。
2026-09-21 00:46:55 +08:00
3.在 /models 目录下写数据库对应类时,不要自己写Base = declarative_base(),
直接 from core.database import Base ,否则会出现 Base 不一致的情况,导致数据库无法创建表。
2026-09-20 19:45:36 +08:00
'''
2026-09-21 02:52:56 +08:00
2026-09-20 19:45:36 +08:00
from sqlalchemy import create_engine
2026-09-21 00:46:55 +08:00
from sqlalchemy.orm import sessionmaker,declarative_base
2026-09-21 11:17:40 +08:00
from core.config import (
2026-09-20 19:45:36 +08:00
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()
2026-09-21 00:46:55 +08:00
Base = declarative_base()