Files
taiji-AI-PAD/scripts/update_db_config.sh
T
2026-03-10 06:40:38 +00:00

59 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# 更新所有配置文件中的数据库名称
#
# 使用方法:./update_db_config.sh [new_db_name]
# 默认新数据库名:taiji_prod
set -e
NEW_DB="${1:-taiji_prod}"
OLD_DB="postgres"
echo "=========================================="
echo "更新配置文件中的数据库名称"
echo "=========================================="
echo "旧数据库: ${OLD_DB}"
echo "新数据库: ${NEW_DB}"
echo "=========================================="
# 备份配置文件
echo ""
echo "Step 1: 备份配置文件..."
BACKUP_DIR="config_backup_$(date +%Y%m%d_%H%M%S)"
mkdir -p "${BACKUP_DIR}"
cp k8s/secrets.yaml "${BACKUP_DIR}/"
cp k8s/configmap.yaml "${BACKUP_DIR}/" 2>/dev/null || true
echo " 备份已保存到: ${BACKUP_DIR}/"
# 更新生产环境配置
echo ""
echo "Step 2: 更新生产环境配置 (k8s/secrets.yaml)..."
sed -i "s|:5432/postgres?|:5432/${NEW_DB}?|g" k8s/secrets.yaml
sed -i "s|:5432/postgres\"|:5432/${NEW_DB}\"|g" k8s/secrets.yaml
echo " ✓ k8s/secrets.yaml 已更新"
# 检查是否有其他配置文件需要更新
echo ""
echo "Step 3: 检查其他配置文件..."
# 搜索所有包含数据库连接字符串的文件
echo " 查找包含数据库连接的文件..."
grep -r "taijipda.postgres.database.azure.com:5432/postgres" --include="*.yaml" --include="*.yml" --include="*.env" . 2>/dev/null | grep -v "${BACKUP_DIR}" | cut -d: -f1 | sort -u || echo " 没有发现其他需要更新的文件"
echo ""
echo "=========================================="
echo "配置更新完成!"
echo "=========================================="
echo ""
echo "更新的文件:"
echo " - k8s/secrets.yaml (生产环境)"
echo ""
echo "数据库连接字符串已更新为:"
echo " postgresql://taiji:By%40123456.@taijipda.postgres.database.azure.com:5432/${NEW_DB}"
echo ""
echo "下一步:"
echo "1. 检查配置文件: cat k8s/secrets.yaml | grep database-url"
echo "2. 部署到 AKS: kubectl apply -f k8s/secrets.yaml"
echo "3. 重启 pods: kubectl rollout restart deployment/mcp-server -n taiji-ai"
echo ""