Files
martial-master/database/martial-db/upgrade.bat
宅房 7aa6545cbb
All checks were successful
continuous-integration/drone/push Build is passing
fix bugs
2025-12-12 05:13:10 +08:00

83 lines
2.4 KiB
Batchfile

@echo off
REM =============================================
REM 赛程编排系统 - 数据库升级脚本
REM =============================================
echo.
echo ========================================
echo 赛程编排系统 - 数据库升级工具
echo ========================================
echo.
echo 说明: 此脚本会创建新的4张表,不会影响现有数据
echo - martial_schedule_group
echo - martial_schedule_detail
echo - martial_schedule_participant
echo - martial_schedule_status
echo.
REM 检查MySQL
where mysql >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] 未找到MySQL命令
echo.
echo 请使用以下方法之一:
echo 方法1: 在Navicat/DBeaver中打开并执行 upgrade_schedule_system.sql
echo 方法2: 将MySQL添加到系统PATH后重新运行此脚本
echo.
pause
exit /b 1
)
set DB_NAME=martial_db
set SCRIPT_PATH=%~dp0upgrade_schedule_system.sql
echo [1/2] 检测到MySQL...
echo.
echo 请输入MySQL root密码 (无密码直接回车):
set /p MYSQL_PWD=密码:
echo.
echo [2/2] 正在执行升级脚本...
echo.
if "%MYSQL_PWD%"=="" (
mysql -u root %DB_NAME% < "%SCRIPT_PATH%"
) else (
mysql -u root -p%MYSQL_PWD% %DB_NAME% < "%SCRIPT_PATH%"
)
if %errorlevel% equ 0 (
echo.
echo ========================================
echo ✓ 数据库升级成功!
echo ========================================
echo.
echo 已创建/检查以下表:
echo [新] martial_schedule_group - 赛程编排分组表
echo [新] martial_schedule_detail - 赛程编排明细表
echo [新] martial_schedule_participant - 参赛者关联表
echo [新] martial_schedule_status - 编排状态表
echo.
echo [旧] martial_schedule - 保留(如果存在)
echo [旧] martial_schedule_athlete - 保留(如果存在)
echo.
echo 下一步:
echo 1. 重启后端服务以使新表生效
echo 2. 访问前端页面测试:
echo http://localhost:3000/martial/schedule?competitionId=200
echo.
) else (
echo.
echo ========================================
echo ✗ 升级失败!
echo ========================================
echo.
echo 请检查:
echo 1. 数据库 martial_db 是否存在
echo 2. MySQL密码是否正确
echo 3. 用户是否有CREATE TABLE权限
echo.
)
pause