QAUP_Management/deploy/database-init.sh
2025-11-20 15:35:18 +08:00

67 lines
2.0 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# QAUP 数据库初始化脚本
# 直接执行完整的数据库初始化SQL文件
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
echo "=== QAUP 数据库初始化脚本 ==="
echo "版本: 1.0.0"
echo "日期: $(date +%Y-%m-%d %H:%M:%S)"
echo ""
# 检查必要文件是否存在
COMPLETE_INIT_FILE="$SCRIPT_DIR/qaup_database_export.sql"
if [ ! -f "$COMPLETE_INIT_FILE" ]; then
echo "❌ 错误: 未找到完整数据库初始化文件"
echo " 文件路径: $COMPLETE_INIT_FILE"
exit 1
fi
echo "✅ 找到完整数据库初始化文件: $COMPLETE_INIT_FILE"
echo " 文件大小: $(du -sh "$COMPLETE_INIT_FILE" | cut -f1)"
echo ""
# 检查PostgreSQL是否可用
if ! command -v psql &> /dev/null; then
echo "❌ 错误: PostgreSQL客户端(psql)未安装或未在PATH中"
echo " 请确保已安装PostgreSQL并配置环境变量"
exit 1
fi
echo "✅ PostgreSQL客户端已检测到: $(psql --version | head -1)"
echo ""
# 设置默认数据库信息
DEFAULT_DB="qaup"
DEFAULT_USER="qaup"
# 询问用户数据库连接信息
read -p "请输入数据库名称(默认: $DEFAULT_DB: " DB_NAME
DB_NAME=${DB_NAME:-$DEFAULT_DB}
read -p "请输入数据库用户名(默认: $DEFAULT_USER: " DB_USER
DB_USER=${DB_USER:-$DEFAULT_USER}
read -s -p "请输入数据库密码: " DB_PASSWORD
echo ""
# 连接并执行初始化脚本
echo "开始执行数据库初始化..."
echo "========================================="
PGPASSWORD="$DB_PASSWORD" psql -U "$DB_USER" -d "$DB_NAME" -f "$COMPLETE_INIT_FILE" 2>&1 | grep -v "NOTICE"
if [ $? -eq 0 ]; then
echo "========================================="
echo "✅ 数据库初始化成功完成!"
echo " 数据库: $DB_NAME"
echo " 用户: $DB_USER"
else
echo "========================================="
echo "❌ 数据库初始化失败!"
echo " 请检查连接信息和数据库权限"
echo " 确保数据库已经创建: createdb -U $DB_USER $DB_NAME"
exit 1
fi