docs(platform): Add database documentation system and restructure deployment docs

Completed:
- Add 6 core database documents (docs/01-平台基础层/07-数据库/)
  Architecture overview, migration history, environment comparison,
  tech debt tracking, seed data management, PostgreSQL extensions
- Restructure deployment docs: archive 20 legacy files to _archive-2025/
- Create unified daily operations manual (01-日常更新操作手册.md)
- Add pending deployment change tracker (03-待部署变更清单.md)
- Update database development standard to v3.0 (three iron rules)
- Fix Prisma schema type drift: align @db.* annotations with actual DB
  IIT: UUID/Timestamptz(6), SSA: Timestamp(6)/VarChar(20/50/100)
- Add migration: 20260227_align_schema_with_db_types (idempotent ALTER)
- Add Cursor Rule for auto-reminding deployment change documentation
- Update system status guide v6.4 with deployment and DB doc references
- Add architecture consultation docs (Prisma guide, SAE deployment guide)

Technical details:
- Manual migration due to shadow DB limitation (TD-001 in tech debt)
- Deployment docs reduced from 20+ scattered files to 3 core documents
- Cursor Rule triggers on schema.prisma, package.json, Dockerfile changes

Made-with: Cursor
This commit is contained in:
2026-02-27 14:35:25 +08:00
parent 9b8490b4d0
commit 6124c7abc6
48 changed files with 3009 additions and 582 deletions

View File

@@ -1,405 +1,70 @@
# 🚀 AI临床研究平台 - 部署文档中心
# 部署文档中心
> **最后更新**2025-12-25
> **部署状态**:✅ 完全成功,所有服务运行正常
> **公网访问**http://8.140.53.236/
> 版本: v2.0
> 更新日期: 2026-02-27
> 适用架构: 阿里云 SAE + RDS PostgreSQL + ACR + OSS + CLB
---
## 🎯 快速开始3分钟找到你需要的文档
## 快速导航
### 我要做什么?
| 你的目标 | 推荐文档 | 预计时间 |
|---------|---------|---------|
| 🔥 **日常更新代码(最常用)** | [19-日常更新快速操作手册](./19-日常更新快速操作手册.md) ⭐⭐⭐⭐⭐ | 20-25分钟 |
| 🚀 **完整部署系统** | [17-完整部署实战手册-2025版](./17-完整部署实战手册-2025版.md) | 3.5-6小时 |
| 🔍 **查询IP/密码等信息** | [00-部署进度总览](./00-部署进度总览.md) | 1分钟 |
| 📚 **学习部署原理** | [01-快速部署SOP-零基础版](./01-快速部署SOP-零基础版.md) | 4小时 |
| 🐍 **部署Python服务** | [09-Python微服务-SAE部署操作手册](./09-Python微服务-SAE部署操作手册.md) | 35分钟 |
| 🟢 **部署Node.js后端** | [12-Node.js后端-SAE部署操作手册](./12-Node.js后端-SAE部署操作手册.md) | 50分钟 |
| 🎨 **部署前端Nginx** | [07-前端Nginx-SAE部署操作手册](./07-前端Nginx-SAE部署操作手册.md) | 30分钟 |
| ❌ **遇到问题排查** | [15-Node.js后端-部署成功总结](./15-Node.js后端-部署成功总结.md) | 按需 |
| 📖 **不知道看哪个文档** | [18-部署文档使用指南](./18-部署文档使用指南.md) | 5分钟 |
| 你的目标 | 文档 |
|---------|------|
| 查看当前线上状态IP/版本/密码) | [00-阿里云SAE最新真实状态记录](./00-阿里云SAE最新真实状态记录.md) |
| 查看下次需要部署什么 | [03-待部署变更清单](./03-待部署变更清单.md) |
| 执行日常更新(构建/推送/部署) | [01-日常更新操作手册](./01-日常更新操作手册.md) |
| 了解部署架构全貌 | [00-部署架构总览](./00-部署架构总览.md) |
| 查看某次具体部署记录 | `0126部署/``0227部署/` |
| 查看历史文档2025首次部署 | `_archive-2025首次部署/` |
---
## 🔥 日常更新操作(高频使用)⭐⭐⭐⭐⭐
## 目录结构
### [19-日常更新快速操作手册.md](./19-日常更新快速操作手册.md)
```
05-部署文档/
├── 00-部署架构总览.md # 架构图、服务拓扑、部署顺序
├── 00-阿里云SAE最新真实状态记录.md # ⭐ 核心:实时反映线上真实状态
├── 01-日常更新操作手册.md # ⭐ 核心统一的4服务部署SOP
├── 03-待部署变更清单.md # ⭐ 核心:开发中实时记录,部署时逐项检查
├── 0126部署/ # 2026-01-26 部署记录(归档)
├── 0227部署/ # 2026-02-27 部署记录(归档)
└── _archive-2025首次部署/ # 2025-12 首次部署的原始文档25个文件
```
**⚡ 最常用的文档!适合日常功能更新和快速迭代!**
### 核心文档职责
**为什么推荐**
- ✅ 短小精悍670行关键信息密集
- ✅ 可直接复制执行的命令
- ✅ 包含一键更新脚本
- ✅ 适合团队协作和AI助手使用
| 文档 | 职责 | 更新频率 |
|------|------|---------|
| **00-SAE最新真实状态记录** | "线上是什么样" — IP、版本、密码、环境变量 | 每次部署后 |
| **01-日常更新操作手册** | "怎么部署" — 4 个服务的构建/推送/部署 SOP | 流程变更时 |
| **03-待部署变更清单** | "要部署什么" — 开发中累积的待部署项 | 开发中实时记录 |
**包含内容**
- **更新Node.js后端**20-25分钟- 最常用!
```bash
编译 → 构建镜像 → 推送ACR → SAE部署 → 验证
```
- **更新前端Nginx**15-20分钟
- **更新Python服务**30分钟
- **修改环境变量**5分钟- 高频操作!
- **查看日志**1分钟
- **回滚操作**7分钟
- **一键更新脚本**(自动化)
### 每次部署的流程
**适合人群**
- 🎯 日常开发迭代的开发人员
- 🎯 需要快速部署更新的运维人员
- 🎯 团队新成员快速上手
- 🎯 AI助手执行部署任务
```
部署前:
1. 打开 03-待部署变更清单.md → 确认本次要部署哪些
2. 打开 00-SAE最新真实状态记录.md → 确认当前版本号
**快速示例**
```bash
# 更新Node.js后端到v1.5
cd backend
npm run build
docker build -t backend-service:v1.5 .
docker push crpi-xxx.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.5
# 然后在SAE控制台部署新版本
执行中
3. 按 01-日常更新操作手册.md 逐服务执行
部署后:
4. 更新 00-SAE最新真实状态记录.md新IP/新版本)
5. 清零 03-待部署变更清单.md已部署项移到历史
6. 创建 MMDD部署/02-部署完成总结.md记录过程和问题
```
---
## ⭐ 核心文档(新手必看)
### 1⃣ 完整部署实战手册(强烈推荐)⭐⭐⭐⭐⭐
**[17-完整部署实战手册-2025版.md](./17-完整部署实战手册-2025版.md)**
**为什么推荐**
- ✅ 基于2025-12-25实际部署经历编写
- ✅ 包含所有遇到的问题及解决方案
- ✅ 1800行详细步骤可直接复制命令
- ✅ 跟着做就能成功!
**包含内容**
- 完整部署流程VPC→RDS→Python→Node.js→前端→CLB
- 4个关键问题修复环境变量、config、pino-pretty、ES Module
- 关键经验总结重启vs部署、环境变量命名等
- 快速命令参考
- 完整链路测试
**适合人群**
- 🎯 要快速部署的人
- 🎯 重新部署或迁移的人
- 🎯 想了解实际坑点的人
---
### 2⃣ 部署进度总览(日常必备)⭐⭐⭐⭐⭐
**[00-部署进度总览.md](./00-部署进度总览.md)**
**为什么推荐**
- ✅ 所有资源信息的索引中心
- ✅ 快速查询IP、密码、环境变量
- ✅ 文档导航指南
- ✅ 部署状态追踪
**包含内容**
- SAE应用内网IP地址
- RDS数据库连接信息
- OSS AccessKey
- ACR镜像仓库地址
- 环境变量配置清单
- 快速命令参考
**适合场景**
- 🔍 忘记IP地址
- 🔍 忘记数据库密码
- 🔍 需要查询资源配置
- 🔍 需要找相关文档
---
### 3⃣ 部署文档使用指南⭐⭐⭐⭐
**[18-部署文档使用指南.md](./18-部署文档使用指南.md)**
**为什么推荐**
- ✅ 快速导航,找到需要的文档
- ✅ 不同场景的阅读路径
- ✅ 关键信息速查表
- ✅ 最佳实践建议
**适合人群**
- 📖 不知道从哪个文档开始看
- 📖 想快速找到特定信息
- 📖 想了解文档结构
---
## 📁 完整文档列表
### 🎯 核心指南3个
1. [README.md](./README.md) - 本文档,总入口
2. [00-部署进度总览.md](./00-部署进度总览.md) - 资源速查、文档索引
3. [18-部署文档使用指南.md](./18-部署文档使用指南.md) - 快速导航
### 🚀 完整部署2个
1. [17-完整部署实战手册-2025版.md](./17-完整部署实战手册-2025版.md) - ⭐ 实战版(推荐)
2. [01-快速部署SOP-零基础版.md](./01-快速部署SOP-零基础版.md) - 学习版
### 🔧 服务部署手册4个
1. [09-Python微服务-SAE部署操作手册.md](./09-Python微服务-SAE部署操作手册.md)
2. [12-Node.js后端-SAE部署操作手册.md](./12-Node.js后端-SAE部署操作手册.md)
3. [07-前端Nginx-SAE部署操作手册.md](./07-前端Nginx-SAE部署操作手册.md)
4. [08-PostgreSQL数据库部署操作手册.md](./08-PostgreSQL数据库部署操作手册.md)
### 📖 技术详解4个
1. [04-Python微服务-SAE容器部署指南.md](./04-Python微服务-SAE容器部署指南.md)
2. [05-Node.js后端-SAE容器部署指南.md](./05-Node.js后端-SAE容器部署指南.md)
3. [06-前端Nginx-SAE容器部署指南.md](./06-前端Nginx-SAE容器部署指南.md)
4. [10-Node.js后端-Docker镜像构建手册.md](./10-Node.js后端-Docker镜像构建手册.md)
### 📝 配置清单1个
1. [11-Node.js后端-SAE部署配置清单.md](./11-Node.js后端-SAE部署配置清单.md) - 21个环境变量详解
### 🐛 问题修复4个
1. [13-Node.js后端-镜像修复记录.md](./13-Node.js后端-镜像修复记录.md) - config目录问题
2. [14-Node.js后端-pino-pretty问题修复.md](./14-Node.js后端-pino-pretty问题修复.md) - 日志配置问题
3. [15-Node.js后端-部署成功总结.md](./15-Node.js后端-部署成功总结.md) - ⭐ 完整问题汇总
4. [16-前端Nginx-部署成功总结.md](./16-前端Nginx-部署成功总结.md) - 前端部署总结
---
## 🎉 部署成功证明
### 当前部署状态2025-12-25
| 服务 | 状态 | 内网地址 | 公网访问 |
|------|------|---------|---------|
| RDS PostgreSQL | ✅ 运行中 | `pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432` | ❌ |
| Python微服务 | ✅ 运行中 | `172.17.173.66:8000` | ❌ |
| Node.js后端 | ✅ 运行中 | `172.17.173.73:3001` | ❌ |
| 前端Nginx | ✅ 运行中 | `172.17.173.72:80` | ✅ |
| CLB负载均衡 | ✅ 运行中 | - | `http://8.140.53.236/` |
### 功能验证
- ✅ 前端页面正常访问
- ✅ 用户登录功能正常
- ✅ 文献筛查模块正常
- ✅ 数据清洗工具C的7大功能全部正常
- ✅ 文件上传功能正常
- ✅ AI对话功能正常
- ✅ 数据库连接正常
- ✅ Python服务调用正常
- ✅ 响应时间 < 1秒
---
## ⚠️ 关键经验(必读)
### 1. 环境变量名必须精确
**❌ 错误配置**
```bash
PYTHON_SERVICE_URL=http://172.17.173.66:8000
```
**✅ 正确配置**
```bash
EXTRACTION_SERVICE_URL=http://172.17.173.66:8000
```
**教训**:代码中使用的是 `EXTRACTION_SERVICE_URL`,环境变量名一个字母都不能错!
---
### 2. 区分"重启应用"和"部署应用"
| 操作 | 用途 | IP是否变 | 何时使用 |
|------|------|---------|---------|
| **重启应用** | 重启容器 | ❌ 不会变 | 修改环境变量、调整配置 |
| **部署应用** | 更新镜像 | ✅ 会变更 | 更新代码、更新镜像版本 |
**教训**:只修改环境变量时,用"重启应用"避免IP变更导致其他服务配置失效
---
### 3. Dockerfile必须包含config目录
**问题**
```
ENOENT: no such file or directory, open '/app/config/agents.yaml'
```
**解决**
```dockerfile
# ✅ 必须添加
COPY config ./config
```
---
### 4. 使用VPC地址拉取镜像省钱
**SAE拉取镜像时**
```bash
# ✅ 正确VPC地址免流量费
crpi-xxx-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.3
# ❌ 不推荐(公网地址,收流量费)
crpi-xxx.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.3
```
---
## 💡 快速命令参考
### 登录ACR
```bash
docker login --username=gofeng117@163.com \
--password=fengzhibo117 \
crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com
```
### 构建并推送镜像
```bash
# Node.js后端
cd backend
npm run build
docker build -t backend-service:v1.3 .
docker tag backend-service:v1.3 \
crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.3
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.3
```
### 健康检查
```bash
# Python服务
curl http://172.17.173.66:8000/api/health
# Node.js后端
curl http://172.17.173.73:3001/health
# 前端Nginx
curl http://172.17.173.72:80/health
# 公网访问
curl http://8.140.53.236/
```
---
## 📊 部署架构图
```
用户浏览器
↓ HTTP (公网)
CLB负载均衡器 (8.140.53.236)
↓ HTTP (内网)
前端Nginx (172.17.173.72:80)
↓ HTTP (内网, /api/v1/)
Node.js后端 (172.17.173.73:3001)
↓ HTTP (内网, /api/dc/)
Python服务 (172.17.173.66:8000)
↓ SQL (内网)
RDS PostgreSQL (pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432)
```
---
## 🆘 需要帮助?
### 常见问题
**Q我是新手从哪里开始**
- A直接看 [17-完整部署实战手册-2025版](./17-完整部署实战手册-2025版.md)
**Q只想更新代码不想全部重新部署**
- A看对应服务的操作手册如 [12-Node.js后端-SAE部署操作手册](./12-Node.js后端-SAE部署操作手册.md)
**Q遇到报错了怎么办**
- A先看 [17-完整部署实战手册-2025版](./17-完整部署实战手册-2025版.md) 第9节
**Q忘记密码或IP地址了**
- A查 [00-部署进度总览](./00-部署进度总览.md)
**Q不知道看哪个文档**
- A看 [18-部署文档使用指南](./18-部署文档使用指南.md)
---
## 🎯 推荐阅读路径
### 路径1首次完整部署新手
```
17-完整部署实战手册-2025版.md主线
00-部署进度总览.md查资源信息
15-Node.js后端-部署成功总结.md遇到问题时
```
**预计时间**3.5 - 6小时
---
### 路径2更新某个服务熟练
```
对应服务的操作手册如12-Node.js后端-SAE部署操作手册.md
00-部署进度总览.md查ACR地址
```
**预计时间**15 - 30分钟
---
### 路径3修改环境变量
```
11-Node.js后端-SAE部署配置清单.md确认变量名
SAE控制台修改
重启应用(不是部署应用!)
```
**预计时间**5分钟
---
## 📞 技术支持
- **开发团队**:内部文档体系
- **阿里云工单**https://workorder.console.aliyun.com/
- **紧急问题**先查文档99%的问题都有解决方案
---
## 🎉 总结
**恭喜您找到了完整的部署文档!**
### 3个核心文档记住它们
1. **本文档README** - 总入口,快速导航
2. **[17-完整部署实战手册-2025版](./17-完整部署实战手册-2025版.md)** - 部署必看
3. **[00-部署进度总览](./00-部署进度总览.md)** - 信息速查
### 部署成功的3个关键
1. ✅ 环境变量名必须精确匹配代码
2. ✅ 区分"重启应用"和"部署应用"
3. ✅ 按顺序部署,每步都要验证
---
> **最后更新**2025-12-25
> **部署状态**:✅ 完全成功
> **公网访问**http://8.140.53.236/
> **维护人员**:开发团队
🚀 **开始部署吧!祝您顺利!**
## 相关文档索引
| 关注点 | 文档位置 |
|--------|---------|
| 数据库架构与迁移 | `docs/01-平台基础层/07-数据库/` |
| 数据库开发规范 | `docs/04-开发规范/09-数据库开发规范.md` |
| 运维监控 | `docs/07-运维文档/` |
| 云原生开发规范 | `docs/04-开发规范/08-云原生开发规范.md` |