Files
2026-04-21 20:12:05 +08:00

51 lines
1.6 KiB
Bash

#!/bin/bash
# ============================================
# 数据库一键初始化脚本
# 用法: bash database/init.sh
# ============================================
set -e
# 从 .env.local 或 .env 读取配置
ENV_FILE=""
if [ -f "apps/server/.env.local" ]; then
ENV_FILE="apps/server/.env.local"
elif [ -f "apps/server/.env" ]; then
ENV_FILE="apps/server/.env"
else
echo "错误: 未找到 .env.local 或 .env 文件"
exit 1
fi
# 读取配置
DB_HOST=$(grep DB_HOST "$ENV_FILE" | cut -d '=' -f2 | tr -d ' ')
DB_PORT=$(grep DB_PORT "$ENV_FILE" | cut -d '=' -f2 | tr -d ' ')
DB_USER=$(grep DB_USERNAME "$ENV_FILE" | cut -d '=' -f2 | tr -d ' ')
DB_PASS=$(grep DB_PASSWORD "$ENV_FILE" | cut -d '=' -f2 | tr -d ' ')
DB_NAME=$(grep DB_DATABASE "$ENV_FILE" | cut -d '=' -f2 | tr -d ' ')
echo "=========================================="
echo " 数据库初始化"
echo "=========================================="
echo "主机: ${DB_HOST}:${DB_PORT}"
echo "用户: ${DB_USER}"
echo "数据库: ${DB_NAME}"
echo "=========================================="
# 执行迁移脚本
echo ""
echo "[1/2] 执行数据库迁移..."
mysql -h "${DB_HOST}" -P "${DB_PORT}" -u "${DB_USER}" -p"${DB_PASS}" < database/migrations/001_init_schema.sql
echo " ✓ 表结构创建完成"
# 执行种子数据
echo ""
echo "[2/2] 导入种子数据..."
mysql -h "${DB_HOST}" -P "${DB_PORT}" -u "${DB_USER}" -p"${DB_PASS}" "${DB_NAME}" < database/seeds/001_init_data.sql
echo " ✓ 种子数据导入完成"
echo ""
echo "=========================================="
echo " 初始化完成!"
echo "=========================================="