firsh push
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
REM ============================================
|
||||
REM 数据库一键初始化脚本 (Windows)
|
||||
REM 用法: 双击运行或在项目根目录执行 database\init.bat
|
||||
REM ============================================
|
||||
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
REM 读取 .env.local 配置
|
||||
set "ENV_FILE="
|
||||
if exist "apps\server\.env.local" (
|
||||
set "ENV_FILE=apps\server\.env.local"
|
||||
) else if exist "apps\server\.env" (
|
||||
set "ENV_FILE=apps\server\.env"
|
||||
) else (
|
||||
echo 错误: 未找到 .env.local 或 .env 文件
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM 解析配置
|
||||
for /f "usebackq tokens=1,* delims==" %%a in ("!ENV_FILE!") do (
|
||||
if "%%a"=="DB_HOST" set "DB_HOST=%%b"
|
||||
if "%%a"=="DB_PORT" set "DB_PORT=%%b"
|
||||
if "%%a"=="DB_USERNAME" set "DB_USER=%%b"
|
||||
if "%%a"=="DB_PASSWORD" set "DB_PASS=%%b"
|
||||
if "%%a"=="DB_DATABASE" set "DB_NAME=%%b"
|
||||
)
|
||||
|
||||
echo ==========================================
|
||||
echo 数据库初始化
|
||||
echo ==========================================
|
||||
echo 主机: %DB_HOST%:%DB_PORT%
|
||||
echo 用户: %DB_USER%
|
||||
echo 数据库: %DB_NAME%
|
||||
echo ==========================================
|
||||
echo.
|
||||
|
||||
REM 执行迁移
|
||||
echo [1/2] 执行数据库迁移...
|
||||
mysql -h %DB_HOST% -P %DB_PORT% -u %DB_USER% -p%DB_PASS% < database\migrations\001_init_schema.sql
|
||||
if errorlevel 1 (
|
||||
echo x 迁移失败,请检查 MySQL 连接配置
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo √ 表结构创建完成
|
||||
echo.
|
||||
|
||||
REM 执行种子数据
|
||||
echo [2/2] 导入种子数据...
|
||||
mysql -h %DB_HOST% -P %DB_PORT% -u %DB_USER% -p%DB_PASS% %DB_NAME% < database\seeds\001_init_data.sql
|
||||
if errorlevel 1 (
|
||||
echo x 种子数据导入失败
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo √ 种子数据导入完成
|
||||
echo.
|
||||
|
||||
echo ==========================================
|
||||
echo 初始化完成!
|
||||
echo ==========================================
|
||||
pause
|
||||
Reference in New Issue
Block a user