Files
wechat_backend/start_prd.sh
王宏豪 9a7681112b feat(database): 迁移用户关联字段并优化打卡系统
- 修改数据库配置将MYSQL_DB从mys_info_v3改为mys_info_test
- 新增auth_users表wechat_openid字段并建立唯一索引
- 为plan_checkins表添加计划性能索引(idx_plan_period_student)
- 将checkin_records_old表关联方式从student_id改为user_id
- 将plan_checkins表关联方式从student_id改为user_id并更新附件路径
- 移除routes/auth.py中的uuid导入使用安全token生成函数
- 重构routes/checkin.py打卡逻辑去除course_type字段并优化返回结构
- 添加打卡时间限制验证功能防止过期打卡操作
- 实现小组统计功能支持老师查看各组打卡情况
- 更新主页index.html界面适配新的打卡和计划功能
- 调整计划提交时间规则为周五至周四周期
- 添加月度和年度计划提交状态验证机制
2026-09-10 14:11:59 +08:00

37 lines
1.2 KiB
Bash

#!/usr/bin/env bash
# 明缘进阶场 FastAPI 启动脚本 (CentOS7, 固定路径)
cd /home/clock_server || exit 1
PID_FILE=/home/clock_server/logs/prd/server.pid
LOG_DIR=/home/clock_server/logs
OUT_LOG=/home/clock_server/logs/prd/server.out.log
ERR_LOG=/home/clock_server/logs/prd/server.err.log
mkdir -p "$LOG_DIR"
if [ -f "$PID_FILE" ]; then
OLD_PID="$(cat "$PID_FILE" 2>/dev/null || true)"
if [ -n "$OLD_PID" ] && kill -0 "$OLD_PID" 2>/dev/null; then
echo "服务已在运行 (PID $OLD_PID)"
exit 1
fi
fi
# 清理 Python 字节码缓存,确保加载最新代码
echo "清理 __pycache__..."
find /home/clock_server/server_prd -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null
find /home/clock_server/server_prd -type f -name "*.pyc" -delete 2>/dev/null
echo "清理完成"
nohup /home/clock_server/pyenv39/bin/python -m uvicorn server_prd.main:app --host 0.0.0.0 --port 8001 >"$OUT_LOG" 2>"$ERR_LOG" &
echo $! > "$PID_FILE"
sleep 1
if kill -0 "$(cat "$PID_FILE")" 2>/dev/null; then
echo "启动成功 PID $(cat "$PID_FILE") (http://0.0.0.0:8001)"
echo "日志: $OUT_LOG"
echo "错误: $ERR_LOG"
else
echo "启动失败,请查看: $ERR_LOG" >&2
exit 1
fi