# 自用 Portable ZIP 更新與回退

## 更新前

1. 關閉 YouTube 上傳整理器，確認沒有執行中的程式視窗。
2. 比對新版資料夾旁 `SHA256SUMS.txt` 與 `release-manifest.json` 的 ZIP 檔名、大小及 SHA-256。
3. 不要刪除、搬移或覆蓋 Electron 的 `userData`。它保存 SQLite 工作資料、設定與加密 OAuth 資料，不在 portable ZIP 內。

## 手動更新

1. 將新版 portable ZIP 解壓到新的程式資料夾，或只覆蓋舊的程式資料夾內容。
2. 執行解壓資料夾頂層的「YouTube 上傳整理器.exe」。程式不會下載更新、不會連 GitHub 檢查版本，也不會覆蓋 userData。
3. 若新版有 pending database migration，啟動前會建立已驗證備份。請等待此步完成，不要強制關閉程式。

## 回退

1. 新版在 migration 前無法啟動：關閉新版，解壓舊 ZIP 回原程式資料夾後重試。資料庫尚未變更。
2. 新版 migration 後無法啟動：不要直接使用舊版處理已升級資料庫。請進入 recovery safe mode，選擇已驗證的 pre-migration backup 還原後，再啟動舊版 ZIP。
3. 若 recovery safe mode 顯示 catalog 過新、資料庫損毀或備份不合格，請保留 redacted diagnostics；一般 queue 與 HTTP mutation 會保持停用。

此流程是本機自用的手動 ZIP 更新。它不是 installer、簽章、GitHub Release、clean Windows 驗收或自動更新服務。
