[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()

使用上非常的简洁,很快就能处理好资料库迁移的问题。


<<:  找LeetCode上简单的题目来撑过30天啦(DAY18)

>>:  [DAY 20] _前20天的结语(落摔判断流程)

[Day13]C# 鸡础观念- 来个轮回吧~foreach回圈

我们曾经认识过for, 後来也遇到While, 如今又出现一个foreach foreach回圈 f...

DAY 15 『 Realm 新增、修改、删除 』Part3

昨天分享如何新增、修改、删除、印出 Realm 资料库的资料,以及读取 Realm 资料库的资料去更...

D2 (9/2)-台积电(2330)

注:发文日和截图的日期不一定是同一天,所以价格计算上和当日不同,是很正常的。 买进台积电(2330)...

最有可能导致数据泄露的针对智能卡(smart cards)的攻击

-侧信道攻击 侧信道攻击(Side-channel attack) 只需在设备或系统附近放置天线、...

[Day 08] Sass - Nesting

Nest CSS with Sass 在Sass中,可以将CSS一层一层的包起来,不但简单直觉能直接...