Files
jczxw-pc/content/docs/deploy/upgrade.md
2026-04-23 16:30:57 +08:00

3.6 KiB
Raw Blame History

title, description, category, order
title description category order
版本升级与回滚 平滑升级生产环境,数据库迁移方案,紧急回滚操作手册。 deploy 3

版本升级与回滚

平滑升级生产环境,数据库迁移方案,紧急回滚操作手册。

⚠️ 升级前必读

重要检查清单

  • 备份数据库
  • 查阅版本更新日志
  • 在测试环境验证
  • 确认回滚方案
  • 通知相关人员
  • 选择低峰期执行

版本兼容性

当前版本 可直接升级到
2.0.x 2.1.x
2.1.x 2.2.x, 2.3.x
2.2.x 2.3.x
1.x 需要先升级到 2.0

🚀 升级步骤

准备工作

# 1. 进入部署目录
cd ~/websopy-deploy

# 2. 备份当前版本配置
cp docker-compose.yml docker-compose.yml.bak
cp .env .env.bak

# 3. 备份数据库(必须!)
docker-compose exec postgres pg_dump -U websopy > backups/db_backup_$(date +%Y%m%d).sql

# 4. 备份上传文件
tar -czf backups/uploads_$(date +%Y%m%d).tar.gz -C /data/websopy uploads/

执行升级

# 1. 停止服务
docker-compose down

# 2. 拉取新版本镜像
docker-compose pull

# 3. 更新代码(如果使用 git 部署)
git fetch origin
git checkout v2.3.0

# 4. 检查新版本配置变更
git diff v2.2.0 v2.3.0 -- .env.example

# 5. 合并配置变更
nano .env

# 6. 启动服务
docker-compose up -d

# 7. 执行数据库迁移
docker-compose run --rm api websopy migrate

验证升级

# 检查服务状态
docker-compose ps

# 检查 API 健康
curl http://localhost:3000/api/health

# 检查版本号
docker-compose exec api websopy --version

# 查看迁移日志
docker-compose logs api | grep -i migrate

🔧 数据库迁移

手动迁移

# 查看待执行迁移
docker-compose run --rm api websopy migrate:status

# 执行迁移
docker-compose run --rm api websopy migrate

# 回滚上一个迁移
docker-compose run --rm api websopy migrate:rollback

⤵️ 紧急回滚

自动回滚

# 如果启动失败,查看错误
docker-compose logs api

# 回滚到上一个版本
docker-compose down
git checkout v2.2.0
docker-compose pull
docker-compose up -d

恢复数据库

# 停止服务
docker-compose down

# 删除新数据库
docker-compose exec postgres dropdb -U websopy websopy

# 创建空数据库
docker-compose exec postgres createdb -U websopy websopy

# 恢复备份
docker exec -i $(docker-compose ps -q postgres) psql -U websopy < backups/db_backup_20240115.sql

# 启动服务
docker-compose up -d

📊 版本更新日志

v2.3.0(最新)

新增功能:

  • 🚀 AI 流式输出优化,延迟降低 50%
  • 📊 新增数据看板组件
  • 🔔 支持自定义 Webhook 事件

Breaking Changes

  • ⚠️ API /ai/chat 端点参数变更
  • ⚠️ 环境变量 AI_MODEL 重命名为 DEFAULT_MODEL

v2.2.0

新增功能:

  • 💬 多语言支持
  • 📱 移动端优化
  • 🔐 SSO 单点登录

v2.1.0

新增功能:

  • 🤖 AI Agent 功能
  • 📚 RAG 知识库
  • 工作流自动化

🧪 测试环境验证

测试清单

  • 首页访问正常
  • 用户登录/注册
  • 主要功能操作
  • API 接口调用
  • Webhook 接收
  • 性能无明显下降

常见问题

Q: 迁移失败怎么办?

  1. 停止所有服务
  2. 恢复数据库备份
  3. 检查迁移脚本错误
  4. 联系技术支持

Q: 镜像拉取失败?

# 使用国内镜像源
nano /etc/docker/daemon.json
{
  "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
sudo systemctl restart docker
docker-compose pull