
SQL审核查询平台Archery,之前使用的版本是v1.8.5,后来新的版本是v1.9.1,找了个时间打算升级到v1.9.1。Archery满足大部分mysql的查询执行备份归档等等,还能支持clickhouse的查询。(重要提醒:最新的版本为v1.10.0,修复了多个 SQL 注入漏洞, 影响所有历史版本, 建议所有用户升级 )本文仅作为其他历史版本参考升级到v1.9.1。

升级前的准备
下载Archery release v1.9.1,
https://github.com/hhyo/Archery/releases/tag/v1.9.1,假如网络环境不好,也可以使用:https://gitee.com/rtttte/Archery/archive/refs/tags/v1.9.1.zip
下载完成之后,解压到服务器上显示的文件夹是Archery-v1.9.1
停止服务,并且备份
当前我们Archery是docker-compose的方式运行的,在升级之前需要先停止服务,到部署Archery的目录下执行docker-compose down关掉正在运行的archery服务。然后新建一个backup目录,把当前archery目录,inception目录,mysql目录(重要)以及docker-compose.yml文件复制或者移动到backup目录下。
开始升级
到Archery-v1.9.1/src/docker-compose下复制archery目录,inception目录,mysql目录,docker-compose.yml以及隐藏文件.env到archery(运行服务的主目录)下。
由于跨版本升级,可能不单单是服务更新,还会涉及到数据库的变更。我们先查看下
Archery-v1.9.1/src/init_sql目录,果然有v1.9.0.sql这个文件,说明v1.8.5升级到v1.9.1有数据库相关的变更。
我们启动Archery服务:docker-compose up -d
然后执行如下语句
docker exec -it archery bin/bash
source /opt/venv4archery/bin/activate
python manage.py dbshell < src/init_sql/v1.9.0.sql
进行数据库变更,执行 python manage.py migrate
最后重启下Archery服务,docker-compose restart






