Files
AIclinicalresearch/docs/05-部署文档/0302部署/01-部署完成总结.md
HaHafeng 72928d3116 docs(deploy): Complete 0302 deployment documentation for IIT V3.1 QC engine upgrade
Summary:
- Create 0302 deployment summary (6 DB migrations + backend v2.4 + frontend v2.0)
- Update SAE status record with new IPs (172.17.197.32), versions, and history
- Update daily operations manual with incremented version numbers (backend v2.5, frontend v2.1)
- Clear pending deployment checklist and archive to history section
- Fix stale schema table counts (iit_schema 5->22, ssa_schema 0->11)

Deployment details:
- Database: 6 Prisma migrations applied (84->86 tables, 442 columns verified identical)
- Backend: v2.3->v2.4 (27 changes, IIT V3.1 QC engine + GCP report APIs)
- Frontend: v1.9->v2.0 (17 changes, GCP 5-tab reports + V3.1 dashboard)
- Both services deployed to SAE at 172.17.197.32

Made-with: Cursor
2026-03-02 08:36:56 +08:00

158 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026年3月2日部署完成总结
> **部署日期**2026-03-02
> **部署范围**数据库迁移6个 + Node.js后端 + 前端Nginx 全量更新
> **部署状态**:✅ 全部完成
> **文档日期**2026-03-02
---
## 部署成果一览
### 服务版本对比
| 服务 | 部署前 | 部署后 | 变更类型 |
|------|--------|--------|---------|
| PostgreSQLRDS | 16 Schema / 84 表 | 16 Schema / **86 表** | Schema迁移6个 |
| Node.js后端 | v2.3 | **v2.4** | IIT V3.1 QC引擎全面升级 |
| 前端Nginx | v1.9 | **v2.0** | IIT GCP报表 + V3.1前端 |
### 内网地址变更
| 服务 | 部署前地址 | 部署后地址 | 状态 |
|------|-----------|-----------|------|
| Node.js后端 | `172.17.197.30:3001` | `172.17.197.32:3001` | ✅ 已变更 |
| 前端Nginx | `172.17.197.31:80` | `172.17.197.32:80` | ✅ 已变更 |
---
## 一、数据库迁移
### 1.1 迁移概览
部署前通过 Docker pg_dump 备份 RDS 测试数据库37.71 MB备份文件`backup_before_0301_deploy.dump`
通过 `prisma migrate deploy` 连接 RDS 外网地址,一次性应用 6 个迁移,全部成功。
迁移后使用 Python 脚本对比本地开发数据库与 RDS确认 iit_schema + ssa_schema **442 列完全一致,零漂移**
### 1.2 应用的迁移文件
| # | 迁移文件 | 内容 | 变更类型 |
|---|---------|------|---------|
| 1 | `20260227_align_schema_with_db_types` | SSA 表类型精度对齐 + 清理重复 FK | ALTER COLUMN + DROP CONSTRAINT |
| 2 | `20260228_add_iit_phase2_user_project_rbac` | user_mappings 加 user_id FK + projects 加 tenant_id FK + UserRole 加 IIT_OPERATOR | ADD COLUMN + ADD CONSTRAINT + ALTER TYPE |
| 3 | `20260228_add_iit_project_is_demo` | projects 加 is_demo 标记 | ADD COLUMN |
| 4 | `20260301_add_v31_qc_field_status_and_instance_columns` | **新建 qc_field_status 五级坐标表** + qc_logs/equery 加 instance_id + field_mapping 加 3 列 | CREATE TABLE + ADD COLUMN |
| 5 | `20260301_add_v31_qc_event_status_and_record_summary_aggregation` | **新建 qc_event_status 事件聚合表** + record_summary 加 13 列 | CREATE TABLE + ADD COLUMN |
| 6 | `20260301_add_v31_project_stats_health_score` | qc_project_stats 加健康度评分 9 列 | ADD COLUMN |
### 1.3 迁移结果
| 验证项 | 结果 |
|-------|------|
| Prisma 迁移记录 | 19 条(含 6 条新增) ✅ |
| iit_schema 表数量 | 20 → **22**(新增 qc_field_status、qc_event_status ✅ |
| 本地 vs RDS 列对比 | **442 列完全一致** ✅ |
| 已有数据完整性 | 全部向后兼容,零数据丢失 ✅ |
---
## 二、Node.js后端更新v2.3 → v2.4
### 2.1 主要变更27 项)
**IIT V3.1 QC 引擎架构全面升级**
| 类别 | 变更内容 |
|------|---------|
| 五级坐标 | RedcapAdapter normalizeInstances()、qc_field_status 五级坐标 upsert |
| D1-D7 分类 | 七维分类体系D1 入排、D2 完整性、D3 逻辑一致性、D5 时效性、D6 方案偏离、D7 安全性) |
| 统一执行器 | QcExecutor executeSingle/executeBatch 统一入口 |
| 聚合引擎 | QcAggregator field→event→record 三级冒泡 + pg-boss 防抖 |
| D2 引擎 | CompletenessEngine 绝对必填字段缺失率 |
| D6 引擎 | ProtocolDeviationEngine 访视超窗检测 |
| 健康度评分 | HealthScoreEngine D1-D7 加权评分 (0-100 + A-F 等级) |
| GCP 报表 API | D1 筛选入选表 / D2 完整性总览 / D3D4 eQuery 生命周期 / D6 方案偏离 |
| 调度器 | 项目级 cronExpression 持久化 + dispatcher 重构 |
### 2.2 镜像信息
| 项目 | 值 |
|------|---|
| ACR 仓库 | `backend-service` |
| 镜像版本 | v2.3 → **v2.4** |
| Digest | `sha256:7848b1b590c138a629fcf9036204e8a2663fc653d2347f22b2928df2874a4233` |
| 内网地址 | `http://172.17.197.32:3001` |
---
## 三、前端Nginx更新v1.9 → v2.0
### 3.1 主要变更17 项)
**IIT V3.1 前端全面升级 + GCP 报表**
| 类别 | 变更内容 |
|------|---------|
| Dashboard | 后端 healthScore + D1-D7 维度条 + 热力图 record×event 矩阵 |
| GCP 报表 | ReportsPage 重构为 5 Tab执行摘要 + D1/D2/D3D4/D6 |
| GCP 组件 | EligibilityTable / CompletenessTable / EqueryLogTable / DeviationLogTable |
| 管理端 | QcDetailDrawer 事件级详情 + RiskHeatmap 列头中文化 + 方案偏离弹窗 |
| API 客户端 | 5 个新报表接口 + V3.1 完整 TS 类型定义 |
| 旧系统集成 | "正在加载..." 替代 "正在连接旧系统..."(去除双系统感知) |
### 3.2 镜像信息
| 项目 | 值 |
|------|---|
| ACR 仓库 | `ai-clinical_frontend-nginx` |
| 镜像版本 | v1.9 → **v2.0** |
| Digest | `sha256:ad24ccde2c1cdf59c07af16a429ce6298ac42d28cd9df73276ab8b653e018d38` |
| 内网地址 | `http://172.17.197.32:80` |
---
## 四、环境变量联动更新
| 服务 | 环境变量 | 旧值 | 新值 |
|------|---------|------|------|
| frontend-nginx-service | `BACKEND_SERVICE_HOST` | `172.17.197.30` | `172.17.197.32` |
> CLB 负载均衡器由阿里云自动更新,无需手动操作。
---
## 五、当前系统配置速查
### 服务内网地址
```
R统计引擎: http://172.17.173.101:8080 (不变)
Python: http://172.17.173.102:8000 (不变)
后端: http://172.17.197.32:3001 (更新)
前端: http://172.17.197.32:80 (更新)
```
### ACR 镜像版本
| 仓库 | 版本 |
|------|-----|
| `ssa-r-statistics` | v1.0.1 |
| `python-extraction` | v1.2 |
| `backend-service` | **v2.4** |
| `ai-clinical_frontend-nginx` | **v2.0** |
### 公网访问
```
CLB: http://8.140.53.236/
域名: https://iit.xunzhengyixue.com/
```
---
> **文档版本**v1.0
> **最后更新**2026-03-02
> **维护人员**:开发团队