Flayway是一款数据库版本控制管理工具,,支持数据库版本自动升级,Migrations可以写成sql脚本,也可以写在java代码里;不仅支持Command Line和java api ,也支持Build构建工具和Spring boot,也可以在分布式环境下能够安全可靠安全地升级数据库,同时也支持失败恢复。

Flyway最核心的就是用于记录所有版本演化和状态的MetaData表,Flyway首次启动会创建默认名为SCHEMA_VERSION的元素局表。 表中保存了版本,描述,要执行的sql脚本等;

sql脚本的格式:V+版本号 +双下划线+秒速+结束符

例如:V1__INIT_DATABASE.sql

上面的V 是默认值, 可以通过

flyway.sql-migration-prefix来指定前缀

Migrate:

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):移除失败的Migration记录,只针对不支持DDL事务的数据库

使用Flayway:

1、引入flyway的依赖:

2、新建一个maven的Springboot项目,在配置文件中配置数据源信息:

3、在classpath下新建/db/migration文件夹,并创建sql脚本文件:

4、启动springboot项目:

加载了sql脚本 。

5、查看数据库:

生成了flyway-schema-history表,这个版本默认是这个表,如果想自己指定schema表的命,可以设置:

6:flyway的一些其他配置:

flyway的入门就到这里,其他内容后面再补上。

到此这篇关于Flyway详解及Springboot集成Flyway的详细教程的文章就介绍到这了,更多相关Flyway介绍 Springboot集成Flyway内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qiuhao9527/article/details/81070482

java flyway,Flyway详解及Springboot集成Flyway的详细教程相关推荐

  1. Flayway mysql自动生成版本_Flyway详解及Springboot集成Flyway的详细教程

    Flayway是一款数据库版本控制管理工具,,支持数据库版本自动升级,Migrations可以写成sql脚本,也可以写在java代码里:不仅支持Command Line和java api ,也支持Bu ...

  2. java flyway_Flyway详解以及Springboot集成Flyway(转)

    Flayway是一款数据库版本控制管理工具,,支持数据库版本自动升级,Migrations可以写成sql脚本,也可以写在java代码里:不仅支持Command Line和java api ,也支持Bu ...

  3. Flyway详解以及Springboot集成Flyway

    Flayway是一款数据库版本控制管理工具,,支持数据库版本自动升级,Migrations可以写成sql脚本,也可以写在java代码里:不仅支持Command Line和java api ,也支持Bu ...

  4. 【详解】springboot 集成 websocket实现网页版实时聊天

    1.application.yml 配置文件 server:port: 8080spring:thymeleaf:prefix: classpath:/view/suffix: .htmlencodi ...

  5. 李兴华java8教程_李兴华Java培训系列详解20套视频教程下载

    李兴华Java培训系列详解20套视频教程下载 教程介绍: 李兴华Java培训系列详解20套视频教程分别对Oracle.Java8.JavaScript.XML.AJAX.jQuery.HTML5.St ...

  6. 单机启动nacos_SpringBoot集成Nacos的详细教程

    一.环境说明 1.CentOS7 2.Jdk1.8 3.Mysql5.7 4.Nacos1.3 5.SpringBoot2.3.1.RELEASE 6.Maven3.6 二.下载Nacos 三.解压启 ...

  7. 【flyway】SpringBoot集成Flyway

    目录 Flaway是什么? SpringBoot集成Flyway --gradle项目 注意 Flaway是什么? Flyway是一款数据库迁移(migration)工具.简单点说,就是在你部署应用的 ...

  8. Java操作MongoDB详解

    Java操作MongoDB详解 1. MongoDB概述 1.1 MongoDB简介 1.2 MongoDB概念 2. MongoDB安装 2.1 MongoDB下载 2.2 MongoDB安装 2. ...

  9. 4.6 W 字总结!Java 11—Java 17特性详解

    作者 | 民工哥技术之路 来源 | https://mp.weixin.qq.com/s/SVleHYFQeePNT7q67UoL4Q Java 11 特性详解 基于嵌套的访问控制 与 Java 语言 ...

  10. java函数方法详解(简单易懂)

    方法(函数) 函数的组成是: 访问修饰符 返回值 函数名(形式参数) {函数内容; } 更多java函数方法详解视频课程学习地址:https://ke.qq.com/course/149432  有技 ...

最新文章

  1. Kubectl 的替代品:kubeman
  2. Nginx + PHP/PHP-FPM安装配置示例
  3. 各项兼容坑的记录-持续更新
  4. C / C++ 之整体知识总结,点进来,不后悔!
  5. 一篇博客读懂设计模式之---工厂模式
  6. MobSF,一款开源移动安全测试框架
  7. 4.设计模式---单例模式(上)
  8. 阿里云郑晓:浅谈GPU虚拟化技术(第一章)
  9. Pr人像视频后期处理磨皮美白插件工具素材【汉化】
  10. word中插入高分辨率图片,并且保存为PDF图片仍然高清的方法
  11. w10计算机用户名密码忘了,一招简单帮你解决win10系统电脑忘记开机密码
  12. 计算机关机键 自动重启,电脑关机后自动重启怎么办?原因及解决方详解
  13. 区块链是什么通俗解释_区块链是什么?1个例子通俗解释,小白秒懂!
  14. PyQt5项目:网速监控器
  15. 《金牌网管师——助理级网吧网管》目录
  16. 等保2.0三级移动互联安全扩展要求
  17. c语言 出现的#if 0 表示什么?
  18. 电脑正常登录QQ微信,但浏览器无法打开网页,这个你一定要学会!
  19. 计算机系统:异常控制流
  20. Spring Boot面试必问:启动流程

热门文章

  1. 浅谈选择示波器时的“5倍法则”
  2. grafana配置alert
  3. Mac OS X使用技巧汇总页面
  4. springboot二手交易平台 毕业设计-附源码290915
  5. a10 amd 安装黑苹果_黑苹果整合版系统U盘镜像Niresh macOS Sierra 10.12.3 支持Intel/AMD......
  6. ​【汇总】CV 图像分类常见的 36 个模型
  7. Retrofit 框架详解和使用
  8. 【JAVA】金额工具类 金额千分位、中文大写金额、英文金额
  9. 2021年科创板股权激励研究报告发布
  10. 神经网络学说的主要观点,神经网络宏观解释包括