This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
## 交付状态
|
||||
|
||||
本说明覆盖 `deliver-july-iteration-confirmed-scope` 的企业微信、Gateway、Redis/Asynq、对象存储和前端联调输入。生产代码、增量迁移和 OpenAPI 已生成至可联调状态;仓库迁移已新增至 `000196`,测试环境下次部署时由 API 启动脚本自动执行,尚未执行自动化测试、完整构建、LSP 或真实外部环境闭环。
|
||||
本说明覆盖 `deliver-july-iteration-confirmed-scope` 的企业微信、Gateway、Redis/Asynq、对象存储和前端联调输入。生产代码、增量迁移和 OpenAPI 已生成至可联调状态;仓库迁移已新增至 `000196`,数据库迁移与 API 启动完全解耦,必须由发布人员在维护窗口人工执行并核对,尚未执行自动化测试、完整构建、LSP 或真实外部环境闭环。
|
||||
|
||||
接口统一使用 `{code,msg,data,timestamp}` 响应。完整请求和响应结构以 `docs/admin-openapi.yaml` 为准。
|
||||
|
||||
@@ -127,11 +127,11 @@ API 与 Worker 必须连接同一 Redis/Asynq。新增或复用的任务如下
|
||||
- 卡限速不保存本地当前档位,结果未知必须人工向 Gateway 核对。
|
||||
- CSV 任务逐行部分成功,不保证整批业务原子性;任务详情是失败和跳过原因的权威展示。
|
||||
- 店铺登录限制不主动吊销既有 C 端 Token。
|
||||
- 测试库此前已完成 `000182`~`000194` 结构落库和注释核对;`000195`~`000196` 将在下一次测试环境部署时执行,外部系统闭环和前端浏览器验收尚未完成。
|
||||
- 测试库此前已完成 `000182`~`000194` 结构落库和注释核对;`000195`~`000196` 需要发布人员人工处理并核对迁移状态,API 容器启动不会执行或修复迁移,外部系统闭环和前端浏览器验收尚未完成。
|
||||
|
||||
## 发布和回滚
|
||||
|
||||
1. 发布目标数据库必须执行至 `000196`,并核对 `tb_system_config` 已出现 6 个七月迭代默认配置、`tb_wecom_application` 已使用明文凭据字段;测试环境由 API 容器启动脚本自动迁移。
|
||||
1. 发布人员在维护窗口人工将目标数据库迁移至 `000196`,并核对 `tb_system_config` 已出现 6 个七月迭代默认配置、`tb_wecom_application` 已使用明文凭据字段;API 和 Worker 启动均不会自动执行、回滚或修复迁移。
|
||||
2. 先部署数据库兼容代码、API 和 Worker,保持旧审批入口开启;再配置企微应用、模板、回调和默认发起人。
|
||||
3. 真实审批闭环通过后,先隐藏前端旧按钮,再关闭旧入口配置并重启 API。
|
||||
4. 回滚时先停止新批量任务和新审批提交,等待已领取任务结束,再回退应用版本。新增表和列暂不删除。
|
||||
|
||||
@@ -295,14 +295,17 @@ docker-compose -f docker-compose.prod.yml restart worker
|
||||
### 手动执行数据库迁移
|
||||
|
||||
```bash
|
||||
# 进入 API 容器
|
||||
docker exec -it junhong-cmp-api bash
|
||||
# 查看当前迁移版本;即使 API 未启动也可以执行
|
||||
docker compose -f docker-compose.prod.yml run --rm --entrypoint sh api -c '
|
||||
DB_URL="postgresql://${JUNHONG_DATABASE_USER}:${JUNHONG_DATABASE_PASSWORD}@${JUNHONG_DATABASE_HOST}:${JUNHONG_DATABASE_PORT}/${JUNHONG_DATABASE_DBNAME}?sslmode=${JUNHONG_DATABASE_SSLMODE}"
|
||||
migrate -path /app/migrations -database "$DB_URL" version
|
||||
'
|
||||
|
||||
# 查看当前迁移版本
|
||||
migrate -path /app/migrations -database "$(cat /app/.env | grep DB_ | xargs)" version
|
||||
|
||||
# 执行迁移(通常容器启动时会自动执行)
|
||||
migrate -path /app/migrations -database "$(cat /app/.env | grep DB_ | xargs)" up
|
||||
# 在维护窗口人工执行迁移;容器正常启动不会自动迁移
|
||||
docker compose -f docker-compose.prod.yml run --rm --entrypoint sh api -c '
|
||||
DB_URL="postgresql://${JUNHONG_DATABASE_USER}:${JUNHONG_DATABASE_PASSWORD}@${JUNHONG_DATABASE_HOST}:${JUNHONG_DATABASE_PORT}/${JUNHONG_DATABASE_DBNAME}?sslmode=${JUNHONG_DATABASE_SSLMODE}"
|
||||
migrate -path /app/migrations -database "$DB_URL" up
|
||||
'
|
||||
```
|
||||
|
||||
### 回滚到旧版本
|
||||
|
||||
Reference in New Issue
Block a user