升级指南

本指南将帮助您将 Daas Admin 升级到最新版本,包括版本更新记录、升级步骤和注意事项。

升级步骤

升级 Daas Admin 系统需要遵循以下步骤,确保升级过程顺利进行,并避免数据丢失或服务中断。

重要提示

在开始升级之前,请务必备份您的数据库和配置文件。升级过程中可能会发生意外情况,有备份可以确保您能够恢复系统。

标准安装包升级

  1. 备份数据

    备份您的数据库和重要配置文件。

    # 备份 MySQL 数据库
    mysqldump -u username -p database_name > backup.sql
    
    # 备份配置文件
    cp .env .env.backup
    cp -r config config.backup
  2. 下载新版本

    从官方网站下载最新版本的 Daas Admin 安装包。

    wget https://download.daas-admin.com/latest.zip unzip latest.zip -d daas-admin-new
  3. 停止当前服务

    停止当前运行的 Daas Admin 服务。

    # 如果使用 PM2
    pm2 stop daas-admin
    
    # 如果使用 systemd
    sudo systemctl stop daas-admin
  4. 替换文件

    将新版本的文件复制到当前安装目录,保留您的 .env 文件和自定义配置。

    # 备份当前目录
    mv daas-admin daas-admin-old
    
    # 移动新版本到安装目录
    mv daas-admin-new daas-admin
    
    # 恢复配置文件
    cp daas-admin-old/.env daas-admin/
    cp -r daas-admin-old/uploads daas-admin/ # 如果有上传的文件
  5. 安装依赖

    在新版本目录中安装依赖。

    cd daas-admin
    npm install
  6. 数据库迁移

    运行数据库迁移脚本,更新数据库结构。

    npm run migrate
  7. 构建应用

    构建新版本的应用。

    npm run build
  8. 启动服务

    启动新版本的 Daas Admin 服务。

    # 如果使用 PM2
    pm2 start npm --name "daas-admin" -- start
    
    # 如果使用 systemd
    sudo systemctl start daas-admin
  9. 验证升级

    访问系统并验证所有功能是否正常工作。检查系统版本号是否已更新。

Docker 环境升级

  1. 备份数据

    备份您的数据卷和配置文件。

    # 备份数据卷
    docker run --rm -v daas_admin_data:/source -v $(pwd):/backup alpine tar -czf /backup/data-backup.tar.gz /source
    
    # 备份配置文件
    cp .env .env.backup
    cp docker-compose.yml docker-compose.yml.backup
  2. 拉取最新镜像

    拉取最新版本的 Docker 镜像。

    docker pull daas-admin/daas-admin:latest
  3. 停止容器

    停止当前运行的容器。

    docker-compose down
  4. 更新 Docker Compose 文件

    如果新版本需要更新 Docker Compose 配置,请下载最新的配置文件并合并您的自定义设置。

    wget https://raw.githubusercontent.com/daas-admin/docker-deploy/main/docker-compose.yml -O docker-compose.new.yml
    
    # 手动合并您的自定义设置
    # 比较两个文件
    diff docker-compose.yml docker-compose.new.yml
    
    # 更新配置文件
    mv docker-compose.new.yml docker-compose.yml
  5. 启动容器

    使用新的配置启动容器。

    docker-compose up -d
  6. 运行数据库迁移

    在容器内运行数据库迁移。

    docker-compose exec app npm run migrate
  7. 验证升级

    访问系统并验证所有功能是否正常工作。检查系统版本号是否已更新。

升级成功

如果所有步骤都成功完成,并且系统正常运行,恭喜您已经成功升级到最新版本!如果在升级过程中遇到任何问题,请参考下面的故障排除部分或联系我们的技术支持团队。

版本历史

以下是 Daas Admin 的版本历史记录,包括每个版本的主要更新内容和发布日期。

V3.2.0

最新版本2023-09-15

新功能

  • 新增多语言支持,支持英文、中文、日文和韩文
  • 新增高级数据分析模块,提供更详细的销售数据分析
  • 新增批量操作功能,支持批量处理订单和退款
  • 新增自定义报表功能,允许用户创建自定义报表

改进

  • 优化仪表盘性能,加载速度提升 50%
  • 改进用户界面,提升用户体验
  • 增强数据导出功能,支持更多格式和自定义字段
  • 优化移动端适配,提供更好的移动端体验

修复

  • 修复订单搜索功能的性能问题
  • 修复某些情况下退款失败的问题
  • 修复报表导出时可能出现的内存溢出问题
  • 修复多个浏览器兼容性问题

V3.1.0

重大更新2023-07-20

新功能

  • 新增订阅管理功能,支持周期性订阅和自动续费
  • 新增客户分群功能,支持基于消费行为的客户分析
  • 新增 API 文档和测试工具,方便开发者集成
  • 新增系统健康监控功能,实时监控系统状态

改进

  • 重构支付处理流程,提高支付成功率
  • 优化数据库查询,提升系统整体性能
  • 改进用户权限管理,支持更细粒度的权限控制
  • 增强安全性,加强数据加密和防护措施

修复

  • 修复大数据量导出时的性能问题
  • 修复某些特殊字符导致的 XSS 漏洞
  • 修复多个并发请求时可能出现的数据不一致问题
  • 修复用户密码重置流程中的安全漏洞

V3.0.0

破坏性更新2023-05-10

重大变更

  • 升级到 Next.js 14,采用 App Router 架构
  • 重构数据库模型,不兼容旧版本
  • API 接口变更,详见 API 文档
  • 最低 Node.js 版本要求提升至 v18.0.0

新功能

  • 全新的用户界面,提供更好的用户体验
  • 新增多租户支持,适用于 SaaS 场景
  • 新增工作流引擎,支持自定义业务流程
  • 新增高级报表和数据可视化功能
  • 新增 Webhook 支持,实现事件驱动集成

改进

  • 全面采用 TypeScript,提高代码质量和可维护性
  • 优化性能,支持更高并发和更大数据量
  • 增强安全性,符合 GDPR 和 PCI DSS 标准
  • 改进国际化支持,提供更完善的多语言体验

升级故障排除

在升级过程中可能会遇到一些常见问题,以下是一些常见问题的解决方法:

数据库迁移失败

如果数据库迁移失败,可能是由以下原因导致:

  • 数据库连接配置错误
  • 数据库用户权限不足
  • 数据库结构已被手动修改
  • 迁移脚本存在错误

解决方法:

  1. 检查数据库连接配置

    确保您的数据库连接配置正确,包括主机名、端口、用户名和密码。

  2. 检查数据库用户权限

    确保数据库用户具有足够的权限来执行迁移操作,例如创建表、修改表结构等。

  3. 恢复数据库备份

    如果数据库结构已被手动修改,可以尝试恢复到升级前的备份。

  4. 检查迁移脚本

    检查迁移脚本是否存在错误,例如语法错误、逻辑错误等。可以尝试手动执行迁移脚本,查看是否有错误信息。

应用无法启动

如果应用无法启动,可能是由以下原因导致:

  • 依赖未正确安装
  • 配置文件错误
  • 端口冲突
  • 代码存在错误

解决方法:

  1. 安装依赖

    确保所有依赖都已正确安装。可以尝试重新安装依赖:

    npm install
  2. 检查配置文件

    检查配置文件是否存在错误,例如数据库连接配置、API 密钥等。

  3. 检查端口冲突

    确保应用使用的端口没有被其他程序占用。可以尝试更换端口。

  4. 检查代码错误

    检查代码是否存在错误,例如语法错误、逻辑错误等。可以查看日志文件,查找错误信息。

页面显示异常

如果页面显示异常,可能是由以下原因导致:

  • 缓存问题
  • 静态资源加载失败
  • 前端代码错误

解决方法:

  1. 清除缓存

    清除浏览器缓存和服务器缓存,然后重新加载页面。

  2. 检查静态资源

    检查静态资源是否加载成功,例如 CSS、JavaScript、图片等。可以查看浏览器控制台,查找错误信息。

  3. 检查前端代码

    检查前端代码是否存在错误,例如语法错误、逻辑错误等。可以查看浏览器控制台,查找错误信息。

下一步