iT邦幫忙

1

資料庫遷移(Migration)工具

  • 分享至 

  • xImage

Hi 各位年薪三百萬的前輩各位好

目前在開發工作上考量需要使用 Database Schema Migrations Tools
主要是考量對 Schema 做版控、遷移、更新多個 Database 使用

以前的作法是利用 ORM 內自帶的部署功能去做第一次 Schema 的建置
不過需要更新 Schema 的時候就很不好使用

找工具的方向是以開源為主,其次是需要付費買 Licence 的
資料庫會使用 Aurora / PostgreSQL

後來有找到了兩個工具

  • Liquibase
  • golang-migrate

Liquibase 符合需求,不過是用 JAVA 寫的,需要轉換語言
而 golang-migrate 也符合需求,同時轉換語言的成本最低,但是需要支援的 Aurora 沒有支援

不知道有沒有其他推薦的工具
或是實務經驗對 Schema 版控有比較好的作法

感謝各位大大

看更多先前的討論...收起先前的討論...
froce iT邦大師 1 級 ‧ 2022-12-26 11:26:09 檢舉
自己參照postgresql的寫一個?
https://github.com/golang-migrate/migrate/blob/master/database/postgres/postgres.go

應該只需要依照規範去做就好。
https://github.com/golang-migrate/migrate/blob/master/database/driver.go
whitefloor iT邦研究生 2 級 ‧ 2022-12-26 13:05:50 檢舉
大大這有點硬XD
froce iT邦大師 1 級 ‧ 2022-12-26 14:40:40 檢舉
要不然就用django去管。
django 的migrate是目前看過最好用的了,沒有之一。
寫好model就只要下兩行指令而已,會自動幫你從上次的migration file對照現在的model,自動產出新的migration file,如果你是已經建好的資料庫還能幫你建model。
whitefloor iT邦研究生 2 級 ‧ 2022-12-26 15:32:01 檢舉
好的,我研究一下,感謝大大
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
shootingstar
iT邦新手 5 級 ‧ 2022-12-26 12:48:44

Liquibase是用Java寫的沒錯,但你可以只把它當作一般的application使用

whitefloor iT邦研究生 2 級 ‧ 2022-12-26 13:07:03 檢舉

那應該是我漏看了,我看到的是人家在JAVA裡面直接寫,感謝

1
慌張君
iT邦新手 5 級 ‧ 2022-12-28 01:56:49
whitefloor iT邦研究生 2 級 ‧ 2022-12-29 12:44:59 檢舉

感謝大大,我研究一下

我要發表回答

立即登入回答