#!/bin/bash # ============================================================ # AI Knowledge Link — 一键更新脚本 # 在服务器项目目录执行:bash update.sh # # 功能: # 1. 拉取最新代码 # 2. 重新构建镜像 # 3. 重启服务(数据库不丢失) # 4. 执行数据库迁移(如有新迁移) # ============================================================ set -e echo "=== AI Knowledge Link 更新 ===" echo "时间: $(date '+%Y-%m-%d %H:%M:%S')" # 1. 拉取最新代码 echo "[1/4] 拉取最新代码..." git pull # 2. 重新构建 echo "[2/4] 重新构建镜像..." docker compose build # 3. 重启服务 echo "[3/4] 重启服务..." docker compose up -d # 4. 数据库迁移 echo "[4/4] 执行数据库迁移..." sleep 5 docker compose exec -T backend alembic upgrade head # 5. 完成 echo "" echo "更新完成!$(date '+%H:%M:%S')" echo "服务状态:" docker compose ps --format "table {{.Name}}\t{{.Status}}\t{{.Ports}}"