tools-sql-version-manger

各大方案工具对比

手动

通过目录和git版本控制共同管理,sql根据版本按顺序执行,增量的时候可以通过变量记录上次执行到了那个阶段,防止重复执行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Example.DataSchema
├─V1.0
│ ├─Common
│ │ 001.Create.Table.Product.sql
│ │ 002.Create.Table.User.sql
│ ├─Enterprise
│ │ 001.Create.Table.Highland.sql
│ └─Professional
│ 001.Create.Table.Lowend.sql
├─V1.1
│ ├─Common
│ │ 001.Alter.Table.User.sql
│ │ 002.Drop.Function.USP_CleanFeedback.sql
│ ├─Enterprise
│ │ 001.Alter.Table.Highland.sql
│ └─Professional
│ 001.Alter.Table.Lowend.sql

Flyway

相关文档:Flyway快速上手教程

通过依赖的方式引入springboot,而且有对应的maven插件,以及相关sql记录会记录到数据库,主要分V和R,R可以重复执行,V只能执行一次。

Liquibase

通过maven插件,功能较多,功能复杂

Bytebase

阿里 DMS

Flyway 通过maven依赖的形式
https://www.jianshu.com/p/567a8a161641

Liquibase 支持maven支持客户端

https://www.cnblogs.com/nevermorewang/p/16185585.html

Bytebase

https://www.modb.pro/db/621194