iT邦幫忙

2021 iThome 鐵人賽

DAY 28
1
Modern Web

Kotlin 怎麼操作資料庫?談談 Kotlin Exposed 框架系列 第 28

[Day 28] 建立 migration 時使用的套件,來談談 Flyway

昨天我們提到了建立 connection pool 時所使用的套件 HikariCP

今天,我們來談談建立資料庫遷移時使用的套件 Flyway

什麼是資料庫遷移

在過去,資料庫的維護和同步,一直是一個很大的問題。

在開發階段,工程師不會直接用本機的專案去連線

在實務上,每個開發人員各自維護自己的資料庫,可能會導致以下狀況

  1. 修復線上問題的資料庫異動,沒有同步到各個測試環境
  2. 線上資料庫和測試資料庫的結構不同,導致專案上線可能會出現的問題,在測試階段沒有發現到。

要避免這些問題,我們可以利用 Flyway 來進行處理資料庫遷移。

Flyway 是一套資料庫遷移工具,能夠做到資料庫的版本管理,並即時的完成資料遷移作業。

由於 Flyway 在資料庫遷移時,所使用的資料內容是在版本控制內的,所以可以保證每個開發人員只要使用的是同樣版本的程式碼,那麼他們所建立的資料庫就會是一致的。

要安裝 Flyway,我們可以透過調整 build.gradle.kts

implementation("org.flywaydb:flyway-core:8.0.0")

然後就可以在程式碼裡面使用 Flyway 類別來執行資料庫遷移了

Flyway.configure().dataSource(url, user, password).load().migrate()

使用上非常的簡潔,很快就能處理好資料庫遷移的問題。


上一篇
[Day 27] 沒有 connection pool 支援怎麼辦?談 HikariCP
下一篇
[Day 29] 建立對外溝通的 API Server,談談 Ktor 框架
系列文
Kotlin 怎麼操作資料庫?談談 Kotlin Exposed 框架30

尚未有邦友留言

立即登入留言