diff --git a/scores/database.py b/scores/database.py index a88f8d9..012cf08 100644 --- a/scores/database.py +++ b/scores/database.py @@ -1,7 +1,17 @@ from sqlalchemy import * from sqlalchemy.orm import declarative_base,sessionmaker -db_url='mysql+pymysql://root:123456@127.0.0.1:3306/student_manage_system?charset=utf8mb4' +# 导入.env参数 +import os +from dotenv import load_dotenv +load_dotenv( ) +DB_USER = os.getenv("DB_USER", "root") +DB_PASSWORD = os.getenv("DB_PASSWORD", "") +DB_HOST = os.getenv("DB_HOST", "localhost") +DB_PORT = os.getenv("DB_PORT", "3306") +DB_NAME = os.getenv("DB_NAME", "student_manage_system") + +db_url = f"mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}?charset=utf8mb4" engine = create_engine(db_url) Base = declarative_base() diff --git a/scores/main.py b/scores/main.py index a6ddef4..0e417b5 100644 --- a/scores/main.py +++ b/scores/main.py @@ -1,8 +1,13 @@ -from fastapi import FastAPI +from fastapi import FastAPI,APIRouter from scores.api.score_api import score_api -from scores.database import * -app = FastAPI(title='成绩管理系统') +from scores.database import engine,Base +# 合并接口 +Scores_API = APIRouter() +Scores_API.include_router(score_api) + +# 自测接口 +app = FastAPI(title='成绩管理系统') app.include_router(score_api) Base.metadata.create_all(engine) diff --git a/scores/model/score_model.py b/scores/model/score_model.py index 0320984..ffef4fb 100644 --- a/scores/model/score_model.py +++ b/scores/model/score_model.py @@ -1,6 +1,6 @@ from scores.database import Base from datetime import datetime -from sqlalchemy import DateTime,Column,Integer,String,Float +from sqlalchemy import DateTime,Column,Integer,String,Float,ForeignKey class Score(Base): __tablename__='scores' id = Column(Integer @@ -9,9 +9,11 @@ class Score(Base): ,comment ='编号' ) sid = Column(Integer + ,ForeignKey('students.id') ,comment ='学生ID' ) cid = Column(Integer + ,ForeignKey('classes.id') ,comment ='班级ID' ) num = Column(Integer @@ -19,6 +21,7 @@ class Score(Base): ) score = Column(Integer,nullable = False) tsub = Column(String(100) + , ForeignKey('subject.id') ,nullable = False ) create_date = Column(DateTime