33 lines
3.9 KiB
Markdown
33 lines
3.9 KiB
Markdown
# 2026-09-17-两阶段部署:8.186→云端→11.79生产 <!-- project: path:/home/gxd/.openclaw/workspace/dy-dashboard -->
|
||
|
||
### 1. 8.186 测试环境 → 云端 → 11.79 生产 两阶段部署
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 1、需要打包8.186测试环境下所有的功能代码、数据库结构、数据库字段、训练记录,更新部署到云端环境下,不要覆盖云端环境的数据
|
||
> 2、等待第一步完成之后,打包云端环境下的全部内容包含所有数据,升级到11.79生产环境中
|
||
> 云端服务器 IP:82.156.135.91
|
||
> SSH登录用户名:ubuntu
|
||
> SSH登录密码:dieya123,.
|
||
|
||
**OpenClaw 响应:**
|
||
两阶段部署全部完成。
|
||
|
||
**阶段一:8.186 → 云端(保留云端数据)**
|
||
- 备份:代码 `~/dy-backups/pre-sync-20260917_165441/code-pre.tar.gz`(75.5MB / 990 文件)、数据库 `dy_data_full.sql.gz`(102.5MB),md5 已记录。
|
||
- 代码差异同步 10 个文件(app.py、routes/auth.py、dashboard.py、planning.py、products.py、purchase.py、services/field_perms.py、static/js/app.js 及 .gz、templates/base.html),dry-run 清单核对后再实跑;云端 `compileall`、`node --check`、`gzip -t` 全通过。
|
||
- 结构增量迁移:比对两端 `information_schema` 列清单(985 vs 981),仅新增 `param_list` 表(5 列),0 个字段需要 MODIFY;云端独有的 `finished_products.待提数量` 按要求保留。迁移后列数 985=985。
|
||
- 知识库同步 696 篇训练记录(不加 --delete,云端独有笔记保留)。
|
||
- 平滑重载(`kill -HUP`)+ 刷缓存:服务 active,`127.0.0.1:18888/login` 与 `https://gyl.dieya.net.cn/login` 均 200,下拉 app.js 与磁盘 `cmp` 一致;`param_list` 自动播种 X=云仓销量/昨日销量、Y=外仓销量/昨日销量。
|
||
|
||
**阶段二:云端全量(含数据)→ 11.79 生产**
|
||
- 预检:云端 52 表 / 生产 51 表(仅差 param_list),feedback 两端均 123 行,生产为 `systemd --user` 单元,磁盘余量 415G。
|
||
- 云端打包:`dy-cloud-full-20260917_165726.tar.gz`(75.5MB)+ `dy_data_cloud_full.sql.gz`(102.5MB,`--ignore-table=dy_data.feedback`);自检 CREATE TABLE=51、feedback 插入 0、param_list 建表 1、gzip 均 OK。md5:tar `450b265cc41e55c55bcc05893c9fa961`、sql `45c78ac7f6ba3205334253e1fdc77ae3`;云端→本机→生产 md5 三端一致。
|
||
- 生产备份:`~/.openclaw/workspace/dy-dashboard_backups/pre-cloud-sync-20260917_165904/`(`prod-code-pre.tar.gz` 74MB + `prod-db-pre.sql.gz` 101MB,51 表,gzip 校验通过)。
|
||
- 就地替换:上传目录先移出再合并(生产原有 113 项 → 合并后 117 项,生产图片全部保留);`VAULT_PATH` 改回生产路径;保留既有 venv 安装依赖;清理 `__pycache__` 与 `tmp_cache`;`compileall` 与 `node --check` 通过。
|
||
- 数据导入:`zcat ... | mysql --force`,错误文件除密码告警外为空(错误 0 条);导入后 52 表,`param_list` 已含 X/Y。
|
||
- 全表行数核对:52 张表逐一比对,仅 `dashboard_logs` 云端 26679 / 生产 26674(打包与导入窗口内生产新增 5 条日志),其余 51 张完全一致。
|
||
- 重启与探针:`systemctl --user restart` 后单元 active、5 个 worker 正常启动、无新错误;`refresh_all_caches()` 完成;app.js 的 gz 缓存重生成;`127.0.0.1:18888/login`、`192.168.11.79:18888/login` 均 200,下发 app.js 与磁盘 `cmp` 一致;两端字段清单 986=986,差异 0。
|
||
- 生产功能探针:`param_list` X/Y 正确,计划预测新字段(云仓/外仓可分配库存、是否调拨、云仓/外仓支撑天数)、`include_inner=auto`、内料同步守卫均已就位。
|
||
|
||
**备份位置**:云端 `~/dy-backups/pre-sync-20260917_165441/` 与 `~/dy-backups/upgrade-cloud-full-20260917_165726/`;生产 `~/.openclaw/workspace/dy-dashboard_backups/pre-cloud-sync-20260917_165904/`。未删除任何云端独有表/列,`feedback` 按约定保留生产本地数据。
|