3 — 生成遷移
語句按表分組;執行前請先檢查輸出。
尚未生成差異。
範圍:這是針對表、列、主鍵、可空性、預設值和外部索引鍵的結構差異對比。索引、觸發器、檢視與資料回填不在範圍內,需要手動補充。SQLite 無法原地修改列,相關變更會以註釋形式提示你重建表。
什麼是資料庫遷移?
遷移是修改資料庫結構的版本化指令碼:建這張表、加那列、刪索引。團隊按順序執行遷移,讓每個環境 — 開發、預釋出、生產 — 沿同一路徑從一個版本走到下一個版本,而不是被手工改得與程式碼完全對不上。每個遷移通常分兩半:up 應用變更,down 撤銷變更,這樣一次糟糕的釋出可以按原路回滾。
刪除表或列的遷移是破壞性的 — down 指令碼無法復活已刪除的資料。執行會刪除內容的遷移前,請先備份(或至少匯出受影響的表)。