什麼是 Hasura Migration?為什麼要用?
在多人協作的專案中,「環境不同步」幾乎是最常見、也是最致命的問題之一。 想像我們正在開發一個新功能,同事在本地的資料庫裡新增了一個 status 欄位,用來記錄訂單狀態。 這個改動在他的電腦上運作得非常正常,他寫好的程式碼也順利提交到 Git。 但問題發生在下一步——其他人拉下最新程式碼後,直接執行...
共 7 篇文章
在多人協作的專案中,「環境不同步」幾乎是最常見、也是最致命的問題之一。 想像我們正在開發一個新功能,同事在本地的資料庫裡新增了一個 status 欄位,用來記錄訂單狀態。 這個改動在他的電腦上運作得非常正常,他寫好的程式碼也順利提交到 Git。 但問題發生在下一步——其他人拉下最新程式碼後,直接執行...
剛開始使用 Hasura 的時候,你一定碰過這種情況: 「加個新欄位需要做 migration 嗎?」 「只是調整某個角色的權限,該不該一起版本控制?」 「如果只是塞幾筆假資料,還要同步到其他環境嗎?」 這些問題看似簡單,但如果判斷錯誤,可能會導致團隊環境不同步,或者版本庫充滿沒必要的 migrat...
如果你剛接觸 Hasura,可能會有這些疑問: 「Hasura 是資料庫嗎?還是某種雲端服務?」 「為什麼它有本地版,也有雲端 Console?我該用哪一個?」 這些疑問很正常,因為 Hasura 和我們熟悉的「資料庫」或「後端框架」都不一樣。 它本質上是一個 在資料庫上快速生成 API 的引擎,而...
如果你是剛開始使用 Hasura 的新手,可能會有這樣的疑問: 「我在 Hasura Console 上新增一個資料表,東西不是就建立好了嗎?幹嘛還要搞什麼 Migration?」 其實 Hasura Migration 的目的,就是幫助你把 資料庫的結構變動記錄下來,並且: 可以追蹤歷史變更(誰改...
使用 Hasura 的過程中,你可能注意到: 有時候你沒有新增任何資料表,只是調整了一個角色的權限、修改了一個 relationship,卻突然在 metadata/ 資料夾中多了一堆 YAML 檔案。 這些,其實就是 Hasura 的 Metadata Migration。 很多剛接觸 Hasur...
想像一下這個情況:你和同事一起開發一個專案,你在本地新增了一個 users 表格,但同事的資料庫裡沒有。 或者你想在正式環境部署時,確保資料庫結構和開發環境完全一樣。這時候就需要 Migration 來幫忙了! 在 Hasura 中,Migration 就像是「資料庫變更的說明書」,記錄了每一步資料...
想像一下,你和同事一起開發一個網站,你們需要經常修改資料庫(比如新增資料表、改欄位名稱等)。如果沒有好的管理方式,很容易出現這些問題: 🤔 同事修改了資料庫,但你不知道改了什麼 😱 不小心刪錯資料表,想要復原卻不知道怎麼辦 🔥 正式環境和開發環境的資料庫結構不一樣,導致程式出錯 這篇文章要教你...