@echo off REM ============================================================ REM Pear Admin Flask 一键启动脚本(Windows / cmd) REM REM 用法: REM start.bat 开发模式启动(默认) REM start.bat pro 生产模式启动(要求 .env 已设 SECRET_KEY) REM start.bat init 仅初始化数据库 + 导入 admin 数据 REM start.bat migrate 仅做 db migrate / upgrade REM ============================================================ setlocal set "VENV_PY=venv\Scripts\python.exe" set "APP=app.py" set "MODE=%~1" if "%MODE%"=="" set "MODE=dev" echo [start.bat] 模式=%MODE% REM 1) 准备虚拟环境(首次) if not exist "%VENV_PY%" ( echo [start.bat] 创建虚拟环境 venv ... python -m venv venv if errorlevel 1 ( echo [start.bat][错误] 创建 venv 失败,请确认系统已安装 Python 3.8+ exit /b 1 ) ) REM 2) 安装依赖 echo [start.bat] 安装依赖 ... "%VENV_PY%" -m pip install --upgrade pip >nul "%VENV_PY%" -m pip install -r requirements.txt if errorlevel 1 ( echo [start.bat][错误] 安装依赖失败 exit /b 1 ) REM 3) 数据库迁移 + admin 初始化(仅首次或有变更时执行) if /I "%MODE%"=="init" goto do_init if /I "%MODE%"=="migrate" goto do_migrate :do_init echo [start.bat] 初始化数据库(migrate + upgrade) ... "%VENV_PY%" -m flask db migrate "%VENV_PY%" -m flask db upgrade echo [start.bat] 导入 admin 基础数据 ... "%VENV_PY%" -m flask admin init echo [start.bat] 初始化完成。可以执行 start.bat 启动服务。 exit /b 0 :do_migrate "%VENV_PY%" -m flask db migrate "%VENV_PY%" -m flask db upgrade exit /b 0 REM 4) 启动 echo [start.bat] 启动 Flask(PEAR_ENV=%MODE%)... set "PEAR_ENV=%MODE%" "%VENV_PY%" "%APP%" endlocal