docs: reply to M4 release decision request — 6 items with rationale
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Release SOP Decision Log — M5 回覆
|
||||
|
||||
**Date**: 2026-05-13
|
||||
**From**: M5
|
||||
**To**: M4
|
||||
**Ref**: `2026-05-13_release_decision_request.md`
|
||||
|
||||
---
|
||||
|
||||
## 決策與理由
|
||||
|
||||
| # | 問題 | 決策 | 理由 |
|
||||
|---|------|------|------|
|
||||
| **1** | Production binary 來源? | **B. M4 自編** | `cargo build --release` 由 M4 執行,確保 binary 與 production 環境一致。M5 提供 `Cargo.lock`。 |
|
||||
| **2** | Schema: public.chunks → public.chunk? | **A. 執行 RENAME** | dev 已統一為 `chunk`(singular),prod 應同步。`ALTER TABLE public.chunks RENAME TO chunk;` |
|
||||
| **3** | Identity merge? | **A. 保留 prod 現有 15 TMDB + import dev data** | TMDB identity 為跨檔案 global identity,保留 prod 既有資料,以 dev data 補足。`file_uuid` 欄位輔助判斷歸屬。 |
|
||||
| **4** | Downtime 方式? | **A. Maintenance mode** | 回傳 503 讓 client 知道服務維護中,避免 hard stop 造成 connection 中斷。 |
|
||||
| **5** | Release scope? | **B. both `aeed7134` + `23b1c87`** | YouTube Charade 同樣是 M4 handover 範圍,兩包一起 release。若有順序考量,先 `aeed7134` 再 `23b1c87`。 |
|
||||
| **6** | Production config? | **A. `DATABASE_SCHEMA=public` via .env** | 沿用 dev 已驗證的 `.env` 模式,production 用 `.env.production` 指定 `DATABASE_SCHEMA=public`。 |
|
||||
|
||||
---
|
||||
|
||||
## Release 執行順序
|
||||
|
||||
```
|
||||
1. M4: `cargo build --release` → 取得 production binary
|
||||
2. M4: 建立 `.env.production`(含 DATABASE_SCHEMA=public)
|
||||
3. M5: 提供 aeed7134 + 23b1c87 兩個 package
|
||||
4. M4: 啟動 maintenance mode
|
||||
5. M4: ALTER TABLE public.chunks RENAME TO chunk;
|
||||
6. M4: 依序 deploy aeed7134 → 23b1c87
|
||||
7. M4: 關閉 maintenance mode
|
||||
8. M4: 確認 2 包 18 endpoint 全過
|
||||
```
|
||||
Reference in New Issue
Block a user