-
Notifications
You must be signed in to change notification settings - Fork 1.7k
upgrade
Leo Q edited this page May 7, 2024
·
16 revisions
升级分为两步, 数据库变更和服务更新, 以 Release v1.3.8 升级为 Release v1.5.0 为例
脚本文件地址: init_sql
需要执行当前版本至目标版本之间的所有数据库变更脚本
v1.3.8_v1.4.0.sql
v1.4.2_v1.4.3.sql
v1.4.3_v1.4.5.sql
v1.4.5_v1.5.0.sql
- 使用
docker compose -f docker-compose.yml down
停止旧版本服务, 删除旧版本服务使用的所有 docker 镜像 - 下载对应 Release 版本的压缩包: Releases
- 对比
src/docker-compose
文件夹, 按照最新配置进行调整, 注意务必更新settings.py
文件, 否则可能无法启动 - 更改 archery 的镜像地址为你想要的地址, 镜像的地址可以从以下的地方找到: dockerhub, github packages 确认配置没问题后使用
docker compose -f docker-compose.yml up -d
启动新版本服务 - 执行数据库升级脚本, 跨多版本升级时需要执行当前版本至目标版本之间的所有数据库变更脚本(实际升级时注意替换文件名)
docker exec -it archery /bin/bash source /opt/venv4archery/bin/activate python manage.py dbshell < src/init_sql/v1.3.8_v1.4.0.sql python manage.py dbshell < src/init_sql/v1.4.2_v1.4.3.sql python manage.py dbshell < src/init_sql/v1.4.3_v1.4.5.sql python manage.py dbshell < src/init_sql/v1.4.5_v1.5.0.sql
- 应用数据库变更
python manage.py migrate
- 使用
docker compose -f docker-compose.yml restart
重新启动服务
- 下载对应 Release 版本的压缩包: Releases
- 按照配置文件的说明修改相关配置: 修改配置
- 重新安装依赖, 以免存在依赖变更
pip install -r requirements.txt
- 应用数据库变更
python manage.py migrate
- 重新启动服务: 启动
- 请阅读每个 Release 版本的说明, 部分版本升级会有额外注意事项
- v1.8.0 升级了 Django 版本, 请仔细阅读 Release 说明 releases/tag/v1.8.0
- v1.7.1 版本升级统一了加密方式, 请仔细阅读 Release 说明 releases/tag/v1.7.1
- v1.6.1 之前 JS 文件没有做版本控制, 所以如果当前版本涉及 JS 文件的修改, 则需要清空浏览器缓存才可以正常使用
- v1.4.0 中增加了新的 app, django_q, 在服务部署完成后需要执行
python3 manage.py migrate
初始化数据, v1.4.0 以上的版本升级无需该操作 - v1.8.2 注意docker-compse.yml文件中,镜像的tag号需要调整为v1.8.2或者lastest,之前tag号,没有字母v