@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