docs: 更新文档和deploy.sh-生产库改为milkydata_dev

This commit is contained in:
2026-05-31 23:05:09 +08:00
parent dd784ab608
commit a4a455381c
2 changed files with 16 additions and 12 deletions

View File

@@ -91,7 +91,7 @@ case "${APP_ENV}" in
TEST_DOMAIN="https://xmclassmate.top"
BACKEND_PORT="4433"
DB_CONTAINER="1Panel-postgresql-FtMo"
DB_NAME="milkydata"
DB_NAME="milkydata_dev"
DB_USER="milkydata" ;;
esac

View File

@@ -17,14 +17,16 @@
```
开发环境dev.xmclassmate.top — 单实例,无需蓝绿
└── 实例 :8080
└── 数据库 milkydata_dev
└── 数据库 milkydata_dev(当前与生产共用)
生产环境xmclassmate.top — 蓝绿部署
├── 蓝色实例 :4433当前活动
├── 绿色实例 :4434空闲
└── 数据库 milkydata蓝绿共享名称不变
└── 数据库 milkydata_dev(蓝绿共享,名称不变)
```
> **当前状态**:生产环境使用 `milkydata_dev` 数据库(数据已从 `milkydata` 迁移)。开发与生产暂共用同一数据库,后续建议拆分。
开发环境不需要蓝绿的原因:
| 原因 | 说明 |
@@ -42,7 +44,7 @@
| 环境 | 数据库 | 蓝绿实例共同连接 |
|------|--------|----------------|
| 开发 | `milkydata_dev` | 单实例,无需蓝绿 |
| 生产 | `milkydata` | `DATABASE_URL=postgres://.../milkydata` |
| 生产 | `milkydata_dev` | `DATABASE_URL=postgres://.../milkydata_dev` |
两个蓝绿实例的 service 文件中 `DATABASE_URL` 配置为完全相同的值。切换蓝绿时只改端口,不改数据库连接。
@@ -76,7 +78,7 @@ xmclassmate.top ──→ xmclassmate.top ──→ :4433
│ │
└──────────┬─────────────┘
milkydata共享数据库
milkydata_dev(共享数据库)
```
任何时候只有一个实例接收流量,另一个运行旧版本待命。
@@ -91,7 +93,7 @@ xmclassmate.top ──→ xmclassmate.top ──→ :4433
└── rust-backend-green.service ← 端口 4434
```
每个 service 配置与现有 `rust-backend.service` 一致,仅端口和描述不同,`DATABASE_URL` 指向 `milkydata`
每个 service 配置一致,仅端口和描述不同,`DATABASE_URL` 指向 `milkydata_dev`
### 新增 OpenResty 配置
@@ -158,7 +160,7 @@ scripts/
## 数据库迁移注意事项
蓝绿部署中两个实例共享同一数据库(`milkydata`),迁移脚本需要对**新旧两个版本的代码都兼容**
蓝绿部署中两个实例共享同一数据库(`milkydata_dev`),迁移脚本需要对**新旧两个版本的代码都兼容**
| 迁移类型 | 兼容性 | 说明 |
|---------|--------|------|
@@ -204,19 +206,21 @@ scripts/
| # | 步骤 | 说明 | 执行方 |
|---|------|------|--------|
| 1 | **生产库跑迁移** | `milkydata` 上执行 `010_rename_paid_fields.sql` 等缺失迁移 | 服务器操作 |
| 1 | **数据迁移** | `milkydata` `milkydata_dev`**已完成** | ✅ 已执行 |
| 2 | **准备生产 service 文件** | 填写 `deploy/rust-backend-prod.service` 中的实际值JWT_SECRET、WECHAT_*、ALIPAY_*、DATABASE_URL | 开发者 |
| 3 | **部署生产后端** | `./deploy.sh production` 部署新代码到 `:4433` | 服务器操作 |
| 4 | **修改前端 `CURRENT_ENV`** | `env.ts``CURRENT_ENV = 'production'`(当前已完成) | 开发者 |
| 3 | **部署生产后端** | `./deploy.sh production` 部署新代码到 `:4433`,数据库指向 `milkydata_dev` | 服务器操作 |
| 4 | **修改前端 `CURRENT_ENV`** | `env.ts``CURRENT_ENV = 'production'` | 开发者 |
| 5 | **上传小程序** | 微信开发者工具上传代码(此时连 `xmclassmate.top` | 开发者 |
| 6 | **修改反向代理端口**(如需蓝绿) | 1Panel 中调整 `proxy_pass` 指向新端口 | 服务器操作 |
### 端口映射汇总
### 数据库配置汇总
| 环境 | 域名 | 数据库 | 当前端口 | 蓝绿备选端口 |
|------|------|--------|---------|-------------|
| 开发 | `dev.xmclassmate.top` | `milkydata_dev` | `:8080` | 无(单实例) |
| 生产 | `xmclassmate.top` | `milkydata` | `:4433` | `:4434` |
| 生产 | `xmclassmate.top` | `milkydata_dev` | `:4433` | `:4434` |
> 生产与开发目前共用 `milkydata_dev`。`milkydata` 作为历史数据源保留,不再更新。后续建议创建独立的生产数据库 `milkydata_prod`。
## 当前是否实施