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:
@@ -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` |
|
||||
|
||||
Reference in New Issue
Block a user