67 lines
2.0 KiB
Bash
Executable File
67 lines
2.0 KiB
Bash
Executable File
#!/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 |