95dee5a70e
后端改进: - 改进 addCitationsToResponse 函数,更激进地添加来源标注 - 支持识别所有有实质内容的行(长度>5) - 优化特殊行的识别逻辑,保留'依据引用'、'分析'、'建议'等内容行 - 修复 go.mod 中 lib/pq 的依赖问题 - 优化字符串拼接效率(使用 fmt.Fprintf) - 添加 Scanner 错误检查 前端改进: - 优化徽章样式,增大尺寸和间距 - 改用 bg-blue-100 和 bg-orange-100 背景 - 添加 hover 效果和 cursor-pointer 配置优化: - LLM 服务地址改为 IP(192.168.1.6:18888),支持外部调用 - 本地服务保持 localhost,性能更优 测试: - 新增 6 个单元测试用例,全部通过 - 验证清单项、列表项、陈述句等各种格式的标注 文档: - 添加实现方案文档 - 添加用户使用指南
85 lines
3.0 KiB
Bash
Executable File
85 lines
3.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# ============================================================
|
|
# 从服务器同步数据库到本地
|
|
# 用法: bash sync-db-from-server.sh
|
|
# ============================================================
|
|
|
|
set -euo pipefail
|
|
|
|
# 服务器配置(从 deploy.sh 读取)
|
|
SERVER="192.168.1.10"
|
|
REMOTE_DB_USER="govai"
|
|
REMOTE_DB_PASS="GovAI@2024Secure"
|
|
REMOTE_DB_NAME="govai_portal"
|
|
|
|
# 本地数据库配置
|
|
LOCAL_DB_USER="freedak"
|
|
LOCAL_DB_NAME="govai_portal"
|
|
BACKUP_FILE="/tmp/govai_portal_$(date +%Y%m%d_%H%M%S).sql"
|
|
|
|
GREEN='\033[0;32m'
|
|
BLUE='\033[0;34m'
|
|
RED='\033[0;31m'
|
|
YELLOW='\033[0;33m'
|
|
NC='\033[0m'
|
|
|
|
log() { echo -e "${GREEN}[✓]${NC} $1"; }
|
|
step() { echo -e "\n${BLUE}==== $1 ====${NC}"; }
|
|
warn() { echo -e "${YELLOW}[!]${NC} $1"; }
|
|
err() { echo -e "${RED}[✗]${NC} $1"; exit 1; }
|
|
|
|
step "从服务器导出数据库"
|
|
log "服务器: $SERVER"
|
|
log "数据库: $REMOTE_DB_NAME"
|
|
|
|
# 在服务器上导出数据库
|
|
ssh $SERVER "PGPASSWORD='$REMOTE_DB_PASS' pg_dump -h localhost -U $REMOTE_DB_USER -d $REMOTE_DB_NAME --clean --if-exists" > "$BACKUP_FILE"
|
|
|
|
if [ ! -s "$BACKUP_FILE" ]; then
|
|
err "数据库导出失败或文件为空"
|
|
fi
|
|
|
|
log "导出完成: $BACKUP_FILE ($(du -h "$BACKUP_FILE" | cut -f1))"
|
|
|
|
step "导入到本地数据库"
|
|
warn "这将清空本地数据库 $LOCAL_DB_NAME 的所有数据!"
|
|
read -p "确认继续? (yes/no): " confirm
|
|
if [ "$confirm" != "yes" ]; then
|
|
log "取消操作"
|
|
rm -f "$BACKUP_FILE"
|
|
exit 0
|
|
fi
|
|
|
|
# 确保本地数据库存在
|
|
log "检查本地数据库..."
|
|
/Applications/Postgres.app/Contents/Versions/16/bin/psql -U $LOCAL_DB_USER -d postgres -tc "SELECT 1 FROM pg_database WHERE datname='$LOCAL_DB_NAME'" | grep -q 1 || \
|
|
/Applications/Postgres.app/Contents/Versions/16/bin/psql -U $LOCAL_DB_USER -d postgres -c "CREATE DATABASE $LOCAL_DB_NAME;"
|
|
|
|
# 导入数据
|
|
log "导入数据到本地..."
|
|
/Applications/Postgres.app/Contents/Versions/16/bin/psql -U $LOCAL_DB_USER -d $LOCAL_DB_NAME -f "$BACKUP_FILE" 2>&1 | tail -20
|
|
|
|
log "导入完成"
|
|
|
|
# 验证数据
|
|
step "验证数据"
|
|
user_count=$(/Applications/Postgres.app/Contents/Versions/16/bin/psql -U $LOCAL_DB_USER -d $LOCAL_DB_NAME -tc "SELECT COUNT(*) FROM users;")
|
|
app_count=$(/Applications/Postgres.app/Contents/Versions/16/bin/psql -U $LOCAL_DB_USER -d $LOCAL_DB_NAME -tc "SELECT COUNT(*) FROM applications;")
|
|
|
|
log "用户数: $(echo $user_count | xargs)"
|
|
log "应用数: $(echo $app_count | xargs)"
|
|
|
|
# 清理备份文件
|
|
read -p "是否删除备份文件? (yes/no): " delete_backup
|
|
if [ "$delete_backup" = "yes" ]; then
|
|
rm -f "$BACKUP_FILE"
|
|
log "备份文件已删除"
|
|
else
|
|
log "备份文件保留在: $BACKUP_FILE"
|
|
fi
|
|
|
|
echo ""
|
|
echo -e "${GREEN}════════════════════════════════════════${NC}"
|
|
echo -e "${GREEN} 数据库同步完成!${NC}"
|
|
echo -e "${GREEN} 本地数据库: $LOCAL_DB_NAME${NC}"
|
|
echo -e "${GREEN}════════════════════════════════════════${NC}" |