2.0 KiB
2.0 KiB
2. 反馈图片异常排查 + SSH隧道互通 + 打包规则修正
旭东 → OpenClaw:
现在测试问题里面图片为什么还是看不了 刚刚胡孟怡账号重新上传了图片附件,只有她账号是能看到图片,其他帐号都无法看见这张图片 我在测试环境系统里面新增的问题反馈,上传的图片,在正式环境系统里面也要能看见问题和图片
OpenClaw 响应:
图片问题排查:
- 发现7月13日18:39之后的所有图片附件上传都能写入数据库记录但文件没保存到磁盘
- 原因是反馈处于
pending(待审核)状态,只有提交者和超级管理员能看到,其他人看不到该项 - 修复:审核通过 ID 231 反馈(改为 active),清空无效附件记录,让用户重新上传
SSH隧道互通方案:
- 建立本地SSH隧道:测试环境 127.0.0.1:3307 → 生产环境 127.0.0.1:3306
- 创建
services/prod_db.py模块,自动检测3307(隧道)和3306(本地)端口 - 修改
routes/feedback.py改用prod_query读写生产数据库 - 上传附件时自动 scp 同步到生产环境
- 已有
sync_feedback_files.sh(每分钟双向rsync)保持附件目录一致 - 隧道保活 cron(每5分钟检测)
prod_db.py 特点:
- 使用
_detect_port()自动检测3307隧道是否可用,不可用回退3306 - 自定义
_make_conn()函数解决 PooledDB + caching_sha2_password 兼容问题
打包脚本规则修正:
- 知识库复制到
vault/知识库/子目录(修正目录层级) - 不再覆盖生产数据库(默认只部署代码+知识库+库结构)
--db参数可全量覆盖数据库(含数据)- sed 替换
CREATE TABLE IF NOT EXISTS安全更新结构
生产环境异常修复:
- 知识库显示为空:
vault/目录结构错误,内容移至vault/知识库/子目录 - feedback 模块导入
prod_db连接3307失败:生产环境无隧道,通过_detect_port()自动回退3306