dify升级

一、需求

从0.14.2升级到0.15.3,要求模型供应商,创建的应用数据等等,不能丢失。

 

二、安装0.14.2

下载dify代码
cd /opt
git clone https://github.com/langgenius/dify.git
cd dify/

 

切换到tag 0.14.2
git checkout 0.14.2
git pull origin 0.14.2

 

运行dify
cd docker
cp .env.example .env
docker compose up -d

 

三、创建相关数据

登录dify,设置密码
查看版本

 

 添加模型供应商,添加几个不同类型的应用

 

四、升级0.15.3

备份docker-compose
cd /opt/dify
cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak

 

下载0.15.3代码
cd ../
git checkout 0.15.3
git pull origin 0.15.3

 

关闭服务
cd docker
docker compose down

 

备份数据
tar -cvf volumes-$(date +%s).tgz volumes

 

升级服务
docker compose up -d

 

五、迁移数据

清理表workflowruns

在迁移数据之前,首先查看一下postgresql里面dify数据库中的表workflowruns

主要是,详细记录了工作流的执行情况,包括执行时间、状态、结果等信息。

这个表运行一段时间后,数据会非常大。业务量很大的情况下,会达到几百GB。

执行poetry run flask db upgrade,可能会对表workflowruns增加字段,那么执行时间会长达3小时以上。

为了避免数据库卡死,请在迁移数据之前,先清理表记录,保留最近1个月即可。

正式迁移数据

进入容器docker-api-1
docker exec -it docker-api-1 /bin/bash

 

更新Python依赖关系
cd api
poetry install
输出:
Installing dependencies from lock file

No dependencies to install or update

 

运行迁移脚本
poetry run flask db upgrade
输出:
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.

 

退出容器
exit

 

重启dify
cd /opt/dify/docker
docker compose down
docker compose up -d

 

五、验证dify

登录dify,查看版本

 查看应用,是否有丢失

 测试运行应用

 

运行没问题,说明升级成功了

 

posted @ 2025-03-19 14:59  肖祥  阅读(1418)  评论(0)    收藏  举报