• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

深入浅析java中flyway使用简介

java 搞代码 4年前 (2022-01-09) 20次浏览 已收录 0个评论

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

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

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

2、修改配置文件

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

3、使用

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

3.1、flyway migrate

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

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

3.2、flyway clean

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

3.3、flyway info

打印schema_version中记录信息

3.4、flyway validate

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

3.5、flyway baseline

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

3.6、flyway repair

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

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

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

Flyway是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。Flyway可以独立于应用实现管理并跟踪数据库变更,支持数据库版本自动升级,并且有一套默认的规约,不需要复杂的配置,Migrations可以写成SQL脚本,也可以写在Java代码中,不仅支持Command Line和Java 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本文来源gaodai#ma#com搞@@代~&码网 and Phoenix.

补充:下面再给大家介绍下flyway使用简介

官网

https://flywaydb.org/

背景

Flyway是独立于数据库的应用、管理并跟踪数据库变更的数据库版本管理工具。用通俗的话讲,Flyway可以像Git管理不同人的代码那样,管理不同人的sql脚本,从而做到数据库同步。

流程

1、 首先配置好flyway的基本信息后,运行项目,会在数据库表中默认新建一个数据表用于存储flyway的运行信息,默认的数据库名:flyway_schema_history


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:深入浅析java中flyway使用简介

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址