2025-11-26 · Database

事後檢討:一次鎖住正式環境資料表的 migration

尖峰時刻執行 ALTER TABLE、長達 14 分鐘的錯誤,以及事後寫下的檢查清單。

前言

重建事件時間軸,解釋為什麼鎖定的時間比預期還久,並列出之後加入的防護措施。

現場筆記

在處理 Database 問題的過程中,反覆看到的幾個模式:

  • 簡單的版本撐過了每次重構,聰明的版本沒有。
  • 邊做邊寫的文件,比事後補寫的耐用得多。
  • 同一個問題第二次出現時,它就已經是模式了——幫它命名吧。

可以直接抄的檢查清單

  • 問題可以用一行指令重現。
  • 修正附帶一個沒有它就會失敗的測試。
  • 作者本人以外的人也在自己的機器上跑過。

結語

寫下未來的自己真的會讀的短版本——這就是全部的訣竅。