Database

Go

資料庫版本遷移:以 Go 為例

接續前面,繼續來討論資料庫議題吧。 在商務初期,追求的是驗證市場,這時資料庫往往只有相對簡單的版本,各種欄位也還不是很齊全。隨著商業模式逐漸成熟,資料庫會需要負擔更多的營運功能,也會需要在原有表格中加入新欄位。資料庫的版本管理問題就出現了。 我們通常稱呼資料庫版本遷移為 Migration,在 Laravel 或 RoR 中都有整合好的 Migration 工具,而 Golang 目前仍需要仰賴自己動手,golang-migrate 是現在比較成熟的專案。本文會講解如何使用 golang-migrate 的 CLI 跟函式庫,來建立資料庫 Migration。 Introduction 既然說版本遷移是 Migration,為什麼不直接稱呼 Version 就好,它跟 Version 有什麼不同?兩者的區別可以看看下圖 簡單來說,Version 指的是資料庫的狀態,而 Migration 指的是狀態到狀態之間的改變。因為後端程式會使用到資料庫,如果用到資料庫沒有的欄位,就會出現問題。

By Ken Chen

Go

GORM:從建置到 CRUD

進行後端開發時,少不了要使用資料庫,由於資料庫的設計與使用方式偏向函數思維,跟主流的物件導向習慣不同,因此很多語言都有對應的 ORM 套件,用來將資料庫轉為物件,方便開發者使用。 Golang 同樣有許多第三方的 ORM 套件,例如 lib/pq、go-pg、gorm、pgx,其中 gorm 是 GitHub 上星星數較多的專案,而且能對應到不同類型的資料庫,在 Golang 中常被使用。本文會講解如何使用 gorm 來操作 Postgres,順帶走一次後端資料庫開發的基本流程。 Establish Database 既然要使用 ORM 來開發資料庫,當然要先有資料庫啦。Postgres 是常用到的關聯式資料,它是 web based,支援高併發,相對傳統的 SQLite 等 file based

By Ken Chen