flyway使用简介

https://blog.waterstrong.me/flyway-in-practice/  此篇博文对flyway讲解的很清楚了,我在这只是稍微增加一些说明;因此,看这个文档前先仔细看一下这篇博文。

1、下载flyway地址:https://flywaydb.org/getstarted/download

 

软件是免安装的,文件目录结构:

 

 

2、修改配置文件

conf目录下有一个flyway.conf文件,里面有数据库的配置:

 

 

3、使用

我在这里是使用的是命令行的方式,具体在gradle里配置使用方式还不太清楚,下面简述一下命令的使用。

3.1flyway migrate

此命令会自动检查数据库脚本是否有变化,如果有变化,则执行脚本,更新数据库版本,如果数据库初始状态是空库,则会自动创建schema_version 表,用于存储数据库操作的版本记录,

只要数据库脚本有变化,都需要执行此命令。

 

3.2flyway clean

清除schema_version中记录所有表结构,视图,存储过程,函数以及所有的数据等都会被清除

3.3flyway info

打印schema_version中记录信息

 

3.4flyway validate

Validate是指验证已经ApplyMigrations是否有变更,Flyway是默认是开启验证的。

3.5flyway baseline

Baseline 是指数据库非空状态下使用flyway首先执行的命令,用于创建schema_vision表。

3.6flyway repair

Repair会修复Metadata表的错误,通常有两种用途:

1移除失败的Migration记录,该问题只是针对不支持DDL事务的数据库。

2重新调整已经应用的MigratonsChecksums值,比如:某个Migratinon已经被应用,但本地进行了修改,又期望重新应用并调整Checksum值,不过尽量不要这样操作,否则可能造成其它环境失败。

 

Flyway是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。Flyway可以独立于应用实现管理并跟踪数据库变更,支持数据库版本自动升级,并且有一套默认的规约,不需要复杂的配置,Migrations可以写成SQL脚本,也可以写在Java代码中,不仅支持Command LineJava API,还支持Build构建工具和Spring Boot等,同时在分布式环境下能够安全可靠地升级数据库,同时也支持失败恢复等。

Flyway主要基于6种基本命令:Migrate, Clean, Info, Validate, Baseline and Repair,稍候会逐一分析讲解。目前支持的数据库主要有:Oracle, SQL Server, SQL Azure, DB2, DB2 z/OS, MySQL(including Amazon RDS), MariaDB, Google Cloud SQL, PostgreSQL(including Amazon RDS and Heroku), Redshift, Vertica, H2, Hsql, Derby, SQLite, SAP HANA, solidDB, Sybase ASE and Phoenix.

 

 

你可能感兴趣的:(flyway使用简介)