添加数据库初始化

This commit is contained in:
wcq 2023-03-14 11:16:57 +08:00
parent 34f7cb1830
commit 557249420d
6 changed files with 73 additions and 20 deletions

View File

@ -1,5 +1,5 @@
from sqlalchemy.orm import Session
from .Schemas import EditItemTypeQuery, EditItemTypeAddInfo
from .Schemas import EditItemTypeQuery, EditItemTypeAddInfo, EditItemTypeUpdateInfo
from .Models import EditRecord, EditItemType
@ -16,6 +16,18 @@ def edit_item_type_delete(db: Session, item_id: int):
db.commit()
def edit_item_type_update(db: Session, data: EditItemTypeUpdateInfo):
db.query(EditItemType).filter_by(id=data.id).update(data.dict())
db.commit()
item = db.query(EditItemType).filter_by(id=data.id).first()
return item
def edit_item_type_get(db: Session, item_id: int):
item = db.query(EditItemType).filter_by(id=item_id).first()
return item
def edit_item_type_query(db: Session, params: EditItemTypeQuery):
params_dict = params.dict()
query = db.query(EditItemType)

View File

@ -2,11 +2,10 @@ from sqlalchemy.orm import relationship
from Context.common import common_db
from sqlalchemy import Column, Integer, String, ForeignKey, Text
Base = common_db.Base
from Mods.User.Models import User
class EditRecord(Base):
class EditRecord(common_db.Base):
"""
编辑记录表
"""
@ -29,7 +28,7 @@ class EditRecord(Base):
return data
class EditItemType(Base):
class EditItemType(common_db.Base):
"""
编辑项信息配置表这个表需手动配置
"""

View File

@ -5,30 +5,35 @@ from Context.common import common_db
from . import Schemas
from . import Crud
router = APIRouter(tags=["日报"],
router = APIRouter(tags=["编辑记录"],
prefix="/api/record")
@router.post("/edit_item_type/add", response_model=Schemas.EditItemTypeAddRes)
@router.post("/edit_item_type/add", summary="添加修改项类型", response_model=Schemas.EditItemTypeAddRes)
def edit_item_type_query(req: Schemas.EditItemTypeAddReq, db: Session = Depends(common_db.get_db)):
item = Crud.edit_item_type_add(db, req)
return Schemas.EditItemTypeAddRes(**item.to_dict())
@router.post("/edit_item_type/delete")
@router.post("/edit_item_type/delete", summary="删除修改项类型")
def edit_item_type_delete(req: Schemas.EditItemTypeDeleteReq, db: Session = Depends(common_db.get_db)):
Crud.edit_item_type_delete(db, req.id)
return "删除成功"
@router.post("/edit_item_type/update", response_model=Schemas.EditItemTypeUpdateRes)
@router.post("/edit_item_type/update", summary="更新修改项类型", response_model=Schemas.EditItemTypeUpdateRes)
def edit_item_type_update(req: Schemas.EditItemTypeUpdateReq, db: Session = Depends(common_db.get_db)):
count, query = Crud.edit_record_update(db, req)
items = [Schemas.EditItemTypeInfo(**item.to_dict()) for item in query]
return Schemas.EditItemTypeQueryRes(count, items)
item = Crud.edit_item_type_update(db, req)
return Schemas.EditItemTypeUpdateRes(**item.to_dict())
@router.post("/edit_item_type/query", response_model=Schemas.EditItemTypeQueryRes)
@router.post("/edit_item_type/get", summary="获取修改项类型", response_model=Schemas.EditItemTypeGetRes)
def edit_item_type_update(req: Schemas.EditItemTypeGetReq, db: Session = Depends(common_db.get_db)):
item = Crud.edit_item_type_get(db, req)
return Schemas.EditItemTypeGetRes(**item.to_dict())
@router.post("/edit_item_type/query", summary="查询修改项类型", response_model=Schemas.EditItemTypeQueryRes)
def edit_item_type_query(req: Schemas.EditItemTypeQueryReq, db: Session = Depends(common_db.get_db)):
count, query = Crud.edit_item_type_query(db, req)
items = [Schemas.EditItemTypeInfo(**item.to_dict()) for item in query]

View File

@ -21,6 +21,18 @@ class EditItemTypeAddRes(EditItemTypeInfo):
pass
class EditItemTypeUpdateInfo(EditItemTypeInfo):
pass
class EditItemTypeUpdateReq(EditItemTypeUpdateInfo):
pass
class EditItemTypeUpdateRes(EditItemTypeInfo):
pass
class EditItemTypeQuery(EditItemTypeInfo):
pass
@ -29,6 +41,14 @@ class EditItemTypeQueryReq(EditItemTypeQuery):
pass
class EditItemTypeGetReq(BaseModel):
id: int
class EditItemTypeGetRes(EditItemTypeInfo):
pass
class EditItemTypeQueryRes(BaseModel):
count: int
items: List[EditItemTypeInfo]

View File

@ -0,0 +1,18 @@
from sqlalchemy import Column, String, Boolean, Enum, Text, DateTime, func, Integer
from Context.common import common_db
class User(common_db.Base):
__tablename__ = "user"
email = Column(String(255), primary_key=True, comment="邮箱")
name = Column(String(32), comment="用户名")
department = Column(Text, comment="部门")
post = Column(Text, comment="职务")
disable = Column(Boolean, default=False, comment="禁用")
auth_data = Column(Text, comment="权限数据")
registered = Column(Boolean, default=False, comment="用户是否注册入app")
create_time = Column(DateTime, server_default=func.now(), comment='创建时间')
update_time = Column(DateTime, server_default=func.now(), onupdate=func.now(), comment='修改时间')
def to_dict(self):
return {c.name: getattr(self, c.name) for c in self.__table__.columns}

13
main.py
View File

@ -1,13 +1,13 @@
import uvicorn
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from Config.uvicorn_log_config import uvicorn_log_config
from Context.common import conf
from Context.common import conf,common_db
from Mods.EditRecord import Router as EditRecordRouter
common_db.init_database()
app = FastAPI(
title="hello",
description="",
title="城投调研工具后端",
description="城投调研工具后端",
version="v1.0.0"
)
app.add_middleware(
@ -17,7 +17,6 @@ app.add_middleware(
allow_methods=["*"],
allow_headers=["*"],
)
app.include_router(EditRecordRouter.router)
if __name__ == '__main__':
uvicorn.run(app, log_config=uvicorn_log_config, port=int(conf['app']['port']))