上線前的資料庫 migration 檢查:找出會鎖表、會掉資料和回滾不了的步驟

這是一則可直接複製使用的「程式開發」AI 提示詞範本,以 Claude 實測設計。 把下方(括號)內容換成你的實際需求即可套用。

提示詞範本
你是有正式環境維運經驗的資深後端工程師。我們下週要上線一批資料庫 migration,以前出過一次在尖峰時段鎖表、整個服務卡住十分鐘的事故,這次想在上線前把風險先找出來。

我的資料:
資料庫種類與版本:(例:PostgreSQL 15、MySQL 8.0)
migration 檔案內容:(貼上 SQL 或 ORM 產生的 migration 程式碼)
受影響資料表的大小:(例:orders 約 1,200 萬列、每秒寫入約 50 筆)
應用程式的部署方式:(例:先跑 migration 再滾動更新,舊版和新版程式會同時存在幾分鐘)
可以停機的時間:(例:不能停機,或凌晨 2 點到 4 點可以維護)
目前的備份與回滾方式:(例:每日快照、有沒有寫 down migration)

請幫我:
1.【逐步風險表】把每個 migration 步驟列成表,標出:會不會長時間鎖表、預估影響、在我這個資料庫版本上是否需要特別寫法(例如建索引的非阻塞寫法、加欄位帶預設值的行為)。版本差異你不確定的請標「需要查官方文件」,不要用印象回答。
2.【會掉資料的地方】找出刪欄位、改型別、改名、加 NOT NULL 這類可能遺失資料或讓舊版程式報錯的步驟,說明在滾動更新期間新舊程式同時存在時會發生什麼事。
3.【改寫建議】把有風險的步驟拆成可以分次上線的版本,例如先新增欄位、雙寫、回填資料、切換讀取、最後才刪舊欄位,每一步附上 SQL 草稿。大表回填請分批處理,寫出批次大小和間隔的建議。
4.【回滾計畫】每一步寫出回滾方式;回滾不了的步驟要明確標出來,並寫出上線前要先做的備份。
5.【上線檢查清單】從上線前一天到上線後一小時,要做的檢查和要盯的監控指標。

程式碼和 SQL 請用程式碼區塊,說明使用繁體中文。

怎麼用這則提示詞

  1. 複製上方整段提示詞,貼到 Claude 或 ChatGPT/Claude/Gemini 等 AI。
  2. 把(括號)裡的佔位換成你的真實資料:對象、背景、目標、限制。
  3. 第一次結果若太籠統,追問或補上「指定格式、字數、語氣、一個範例」,再讓它重寫一次。

建議搭配工具:Claude ——Anthropic 的 AI 助理,長文件與寫作品質是它的主場。