尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

WeKnora 版本升级 0.7.2 实操:停、迁、起三步走,附数据库迁移与回滚方案

WeKnora 版本升级 0.7.2 实操:停、迁、起三步走,附数据库迁移与回滚方案 WeKnora 版本升级 0.7.2 实操停、迁、起三步走附数据库迁移与回滚方案【免费下载链接】WeKnoraOpen-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.项目地址: https://gitcode.com/GitHub_Trending/we/WeKnoraWeKnora 版本升级最怕两件事升完老数据没了或者升了个寂寞——页面版本号纹丝不动。这篇按你真实升级会踩的顺序来先判断你的升级路线再备好备份和回滚手段然后用停服务 → 迁数据 → 起服务三步走完整个 0.7.2 升级最后照着打勾清单验收。全程你只需要亲手敲 4 条命令。升级 WeKnora 前先回答三个问题这节帮你确认升级路线避免走错分支浪费时间。不用查代码三条命令就能摸清现状。问题一我现在的版本是多少./scripts/migrate.sh version这条命令会打印数据库当前的迁移版本号。WeKnora 的表结构升级都记录在迁移表里0.7.2 对应到000090这一档数字差得越多这次要跑的 SQL 越多。问题二要不要垫中间版本多数情况不用。迁移脚本是顺序执行的缺几档它会从当前版本号一路补到最新像绕远路但一步到位。只有你跨了大版本且中途想停下来验证时才需要分两次升。问题三要不要停机建议要。数据库迁移期间旧进程还在写容易半新半旧。下面给所有场景一张表你的现状检查方式升级动作要不要停机docker-compose 部署版本落后一个以上小版本.env里的WEKNORA_VERSION改成 0.7.2或保持 latest拉镜像 迁库要升级窗口内已经在 0.7.x只差一两个修订号同上或直接看页面版本拉镜像 迁库流程同上要窗口更短源码部署跑的是 git 主干git log -1拉最新代码重新构建迁库要升级 WeKnora 前先备好的两张单备份单和配置单这节帮你把出事能活下来这件事做扎实。每条我都标了不做的后果轻重你自己掂量。备份单pg_dump -U postgres -h localhost -p 5432 WeKnora weknora_backup_$(date %F).sql这条命令把整个数据库导出成一个 SQL 文件是最关键的一张单。不做会怎样迁移跑到一半报错你手里的库就是半新半旧的结构什么都救不回来。知识库的原始文档和解析产物也存在服务器磁盘上把config目录、.env和文档存储目录一起拷一份。不做会怎样配置文件丢了重启后要对着记忆重建环境。配置单把.env里的WEKNORA_VERSION、数据库连接、模型配置抄一份到别处。不做会怎样升级脚本或新镜像会新增环境变量旧值被默认值覆盖后你分不清哪些是原来就有的。对照新版本的 config/config.yaml 看有没有新增必填项。不做会怎样服务起来了但某个功能静默不可用排查起来比升级本身还慢。WeKnora 升级失败怎么回滚这节给你一张独立的回滚单升级前先看完它心里才有底。回滚的顺序和升级正好反过来。先停新版本docker compose down别让新进程继续写库。再把数据恢复回去用备份单里那份 SQL 导入覆盖或者直接用docker compose里的 PostgreSQL 卷快照恢复。注意如果迁移脚本跑过了数据库里已经记了新的迁移版本号光回滚服务不回滚数据新版本起不来、旧版本也可能认不出库结构。最后把.env的版本号改回旧的重新docker compose up -d。一句话记住回滚 回数据 回版本两者缺一就会卡在新旧都不认识的中间状态。升级 WeKnora 三步走停、迁、起这节是核心动作每步只有一条必须亲手敲的命令。第一步停服务。把还在跑的老版本停掉释放数据库的写操作。docker compose down第二步迁数据。这是真正动表结构的一步。脚本会自动读取.env里的数据库连接用 Python 帮你把密码里的特殊字符做转义然后调用 golang-migrate 把 migrations/versioned/ 里还没执行过的 SQL 按编号顺序跑完中途任何一条失败都会立刻停下并保留错误现场。./scripts/migrate.sh up源码部署的同学等价命令是make migrate-up内部就是调 scripts/migrate.sh 的up分支。第三步起服务。把.env版本号指向 0.7.2或保持 latest拉新镜像再启动。注意必须先 pull 再 up只 up 的话 compose 会复用本地缓存的旧镜像你会以为升完了其实没有。docker compose pull docker compose up -d升级 WeKnora 后的五件事自检这节帮你确认真的升成了。五条全打上勾这次升级才算闭环。用管理员账号能正常登录会话不报错老知识库列表和文档数量与升级前一致随机打开一个知识库看目录拿一个旧问题发起检索问答能返回带引用的答案新功能入口可见知识库文档列表里出现了文件夹树chunk 详情页能编辑docker compose logs里翻一遍没有新增的 panic 或迁移报错任何一条不通过别急着用直接跳到下一节的急救部分。WeKnora 升级卡住的三个高频坑这节把最常见的三种翻车按现象 / 原因 / 一条解决命令列给你对号入座即可。坑一升完版本号没变现象docker compose up -d跑完了页面显示的还是旧版本。原因只执行了 upcompose 直接复用了本地缓存的旧镜像新 release 根本没进来。解决docker compose pull docker compose up -d先拉再启。坑二迁移脚本中途报错库停在中间状态现象migrate up执行到一半抛错退出之后服务起不来或表缺字段。原因迁移是断点续跑的版本号停在失败的那一档后面的 SQL 一条都没跑。解决先跑./scripts/migrate.sh version确认卡在哪一档修好报错后重新./scripts/migrate.sh up它会从断点继续而不是重头再来。坑三新版本起不来必须退回去现象服务起来了但登录失败或知识库打不开短时间内修不好。原因新版本代码与库里旧数据、或没补全的配置不匹配。解决按回滚单操作——docker compose down用备份 SQL 恢复数据库.env版本号改回旧版再docker compose up -d。升级 WeKnora 之后你能拿到什么这节只挑 0.7.2 里最值钱的两个新能力升完你就能直接用。chunk 直接编辑 版本回退。过去检索块是解析后定死的现在你可以在界面里直接改 chunk 内容每次被覆盖的旧版本都会自动快照支持逐行对比和一键回退改完索引自动重建。配合同期上线的 Wiki 页面修订历史知识库的改坏了第一次有了撤销键。知识库文件夹树。文件夹上传的相对目录不再塞在文件名里而是落到独立的folder_path字段并做了存量回填文档列表渲染成真正的侧边文件夹树可以就地改名、可以跨文件夹拖动归档。文档一多这个体验提升最明显。更多细节包括 resource_urls 公开链接、飞书云盘数据源、批量打标签等都在 CHANGELOG 的 0.7.2 一节按需细读即可。下一步文档、配置参考与社区升级收工后续入口给你指好。完整功能与部署说明看官方文档站 website-docs/其中安装一章专门写了版本升级的正确姿势。想核对迁移 SQL 都改了什么翻 migrations/versioned/ 里对应编号的文件即可。遇到本文没覆盖的报错把docker compose logs输出带上直接去项目仓库提 Issue。【免费下载链接】WeKnoraOpen-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.项目地址: https://gitcode.com/GitHub_Trending/we/WeKnora创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表