flyway java_flyway的使用

换新工作 框架很新

有些东西没见过 现学一下

从 flyway开始

springboot整合教程

java写迁移脚本

概念

用途:Flayway是一款数据库版本控制管理工具,

支持数据库版本自动升级,Migrations可以写成sql脚本,也可以写在java代码里;

不仅支持Command Line和java api ,

也支持Build构建工具和Spring boot,

也可以在分布式环境下能够安全可靠安全地升级数据库,

同时也支持失败恢复

运行方式

首次启动会创建默认名为SCHEMA_VERSION的元素局表。 表中保存了版本,描述,要执行的sql脚本

df699b75947ef1cf2469caeade8d55ea.png

flyway找脚本的时候默认去src/mian/resources下面的db/migration

相关命令

Migrate是指把数据Schema迁移到最新版本,在Migrate时会检查MetaData元数据表,如果不存在就创建MetaData表,MetaData用于记录数据库历史变更等信息;

Migrate会扫描指定文件系统或者classpath下的Migrations。会与MetaData中的记录进行对比,进行版本升级;

Clean:清除掉对应数据库Schema中所有的对象,包括表结构,视图,存储过程等,clean操作在dev 和 test阶段很好用;

Info:用于打印所有的Migrations的详细和状态信息,也是通过MetaData和Migrations完成的,可以快速定位当前的数据库版本;

validate:验证以及apply的Migrations是否有变更,默认开启的;原理是对比MetaData表与本地Migrations的checkNum值,如果值相同则验证通过,否则失败。

BaseLine:对已经存在数据库Schema结构的数据库一种解决方案。实现在非空数据库新建MetaData表,并把Migrations应用到该数据库;也可以应用到已有表结构的数据库中也可以实现添加Metadata表。

repair:repair操作能够修复metaData表,该操作在metadata出现错误时很有用

使用步骤

1.springboot来整合

2.建src/db/migration文件夹

3.建V开头+版本号+双下划线+描述.sql 脚本文件

4.增加flyway的java类(执行数据迁移和读取配置文件)--可选

5.数据库有了新的改动,导出新版本sql文件到db.migration 自动更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值