`

198. Spring Boot Flyway工作原理

 
阅读更多

 

【视频&交流平台】

à悟空学院:https://t.cn/Rg3fKJD

学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!

SpringBoot视频:http://t.cn/A6ZagYTi

Spring Cloud视频:http://t.cn/A6ZagxSR

SpringBoot Shiro视频:http://t.cn/A6Zag7IV

SpringBoot交流平台:https://t.cn/R3QDhU0

SpringData和JPA视频:http://t.cn/A6Zad1OH

SpringSecurity5.0视频:http://t.cn/A6ZadMBe

Sharding-JDBC分库分表实战http://t.cn/A6ZarrqS

分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr

 

 

历史相关章节:

 

193. Spring Boot 数据库迁移:概述

194. Spring Boot 数据库迁移:Flyway

195. Spring Boot 2.0数据库迁移:Flyway

196. Spring Boot 数据库迁移:Liquibase

197. Spring Boot 2.0数据库迁移:Liquibase

 

工作原理

最简单的场景是当你用Flyway迁移到一个空数据库时。

 



  

Flyway将会试图查找数据库中的元数据表(metadata table)。由于数据库是空的,Flyway将不会查找,而是创建一个新元数据表

现在数据库中将有一张名为SCHEMA_VERSION的表:

 



 

 

此表将用于跟踪数据库的状态。

之后,使用Flyway进行迁移时将扫描系统文件或者应用的类路径中特定的文件,它们可以由SQLJava编写。

然后Flyway将基于他们的版本号进行排序并依次执行:



 

 

随着每次执行,对应地更新元数据表,schema_version表:



 

 

Fly进行迁移时会重新扫描系统文件或者应用的类路径中特定的文件,并且与元数据表进行校验,如果它们的版本号低于或等于当前标记的版本,它们将被忽略而高于标记的文件将等待迁移:状态为可用(available),但是未执行 。



 

 

Flyway会将它们按照版本号进行排序并依次执行。



 

 

元数据表相应的更新,schema_version表:



 

 

就是如此简单!我们可以非常容易的创建一个高于当前标记版本的迁移文件,用来更新数据库,无论是表结构的变化或是数据的更新。下次Flyway开始迁移时,它会找到这个文件并相应更新数据库

转自:http://hao.jobbole.com/flyway/

 

「SpringCloud视频最近更新:

 

24. 覆写Feign的默认配置Configuration之Contract
25. Spring Cloud中关于Feign的常见问题总结
26. 解决Spring Cloud中FeignRibbon第一次请求失败的方法
27. Feign添加 fallbackFactory 属性来触发请求进行容灾降级
28. 断路器Hystrix总结
29. Health Indicator(健康指标) 和metrics stream(指标流)
30. 断路器监控(Hystrix Dashboard)
31. 断路器聚合监控(turbine) 

à悟空学院:https://t.cn/Rg3fKJD

学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!

SpringBoot视频:http://t.cn/A6ZagYTi

Spring Cloud视频:http://t.cn/A6ZagxSR

SpringBoot Shiro视频:http://t.cn/A6Zag7IV

SpringBoot交流平台:https://t.cn/R3QDhU0

SpringData和JPA视频:http://t.cn/A6Zad1OH

SpringSecurity5.0视频:http://t.cn/A6ZadMBe

Sharding-JDBC分库分表实战http://t.cn/A6ZarrqS

分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr 

 

微信公众号「SpringBoot最近更新:

 

Java8新特性:接口的默认方法
208. Spring Boot Swagger2:排序 – 漂游记
207. Spring Boot Swagger2:极简方式
我读的书很多,但都没有你好看【一禅录】
206. Spring Boot 2.0 Swagger2:使用
205. Spring Boot 2.0 Swagger2:初识Swagger
当要离开的时候,我却动情了
205. jetcache:你需要知道的小技巧
204. jetcache:在Spring Boot中怎么玩?
遇见阿里,遇见自己
203. 阿里jetcache
202. 阿里Pandora Boot
微信公众号赞赏功能升级了,真的假的?
《喜剧之王》「我养你啊」之人生选择
201. Spring Boot JNDI:Spring Boot中怎么玩JNDI
510阿里日,马老师献上最走心、最科技范儿证婚词~
200. Spring Boot JNDI:在Tomcat中怎么玩JNDI?
199. Spring Boot JNDI:这是虾米?
Spring Boot 数据库迁移系列
Spring Boot葵花宝典:初露锋芒:MyBatis insert异常 Parameter 'name' not found
198. Spring Boot Flyway工作原理

 搜索springboot或者扫描以下二维码即可关注:

 

  • 大小: 97.3 KB
  • 大小: 25.6 KB
  • 大小: 78.6 KB
  • 大小: 28.9 KB
  • 大小: 71 KB
  • 大小: 146.6 KB
  • 大小: 33.7 KB
分享到:
评论

相关推荐

    Spring-Boot-Reference-Guide, Spring Boot Reference Guide中文翻译 -《Spring Boot参考指南》.zip

    《Spring Boot参考指南》是Spring Boot开发者的重要参考资料,它详细阐述了Spring Boot框架的核心特性、配置方式、自动配置原理以及如何构建微服务应用等关键知识点。Spring Boot是Java开发领域中一个极其流行的轻量...

    基于Spring Boot和Vue的微人事管理系统.zip

    基于Spring Boot和Vue的微人事管理系统 项目介绍 微人事是一个前后端分离的人力资源管理系统,项目采用Spring Boot和Vue开发,集成了Redis、RabbitMQ等常见的企业级应用技术点。 项目技术栈 后端技术栈 1. ...

    flyway-commandline-6.4.2-linux-x64.tar.gz

    Flyway 是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。Flyway 可以独立于应用...Build 构建工具和 Spring Boot 等,同时在分布式环境下能够安全可靠地升级数据库,同时也支持失败恢复等。 linux-x64

    Spring Boot核心技术-笔记-pdf版.pdf

    **Spring Boot核心技术详解** Spring Boot是由Pivotal团队提供的全新框架,其设计目标是为了简化Spring应用的初始搭建以及开发过程。它集成了大量的常用组件,如数据源、定时任务、缓存、邮件服务等,无需繁琐配置...

    flyway-springboot.zip_springboot集成flyway数据库版本管理工具

    总之,Spring Boot集成Flyway极大地简化了数据库版本管理的工作,使得数据库的变更与应用的发布更加协调。通过合理地使用Flyway,可以避免数据库版本冲突,提高开发效率,同时保证数据的一致性和安全性。

    Spring Boot 集成 Flyway,数据库也能做版本控制,太牛逼了!(csdn)————程序.pdf

    如果是在Spring Boot 2.5及以上版本中,如果使用了spring.flyway.url定义数据库连接,还需要加上username/password进行认证。如果是在Flyway首次运行时,需要在项目资源目录下创建一个名为flyway的目录,并在此目录...

    spring-boot-reference.pdf

    Spring Boot Documentation 1. About the Documentation 2. Getting Help 3. First Steps 4. Working with Spring Boot 5. Learning about Spring Boot Features 6. Moving to Production 7. Advanced Topics II. ...

    springboot参考指南

    Spring Boot文档 i. 1. 关于本文档 ii. 2. 获取帮助 iii. 3. 第一步 iv. 4. 使用Spring Boot v. 5. 了解Spring Boot特性 vi. 6. 迁移到生存环境 vii. 7. 高级主题 3. II. 开始 i. 8. Spring Boot介绍 ii. 9. 系统...

    flyway-commandline-6.4.2-windows-x64.zip

    Flyway 是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。...Build 构建工具和 Spring Boot 等,同时在分布式环境下能够安全可靠地升级数据库,同时也支持失败恢复等。 windows-x64

    springboot:Spring Boot和Flyway的探索项目

    spring.flyway.url=jdbc:mysql://localhost:3306/mydb spring.flyway.user=myuser spring.flyway.password=mypassword ``` 接着,将数据库迁移脚本放在`src/main/resources/db/migration`目录下,文件命名遵循Flyway...

    基于Spring Boot和MyBatis的论坛问答平台.zip

    项目采用Spring Boot框架,结合MyBatis进行数据库操作,使用H2作为嵌入式数据库,Flyway进行数据库版本管理,Lombok简化代码,Bootstrap进行前端设计,Github OAuth进行用户认证,UFile进行文件存储。 在线演示...

    基于Spring Boot框架的码问社区.zip

    开发学习适合开发者学习Spring Boot、MyBatis、Flyway等技术栈的使用。 项目实践可以作为实际项目的参考,理解如何构建一个完整的论坛和问答系统。 功能扩展项目持续更新中,开发者可以根据需求扩展功能,如增加...

    基于Flyway实现简化Spring Boot项目部署

    本文将详细介绍如何使用Flyway简化Spring Boot项目的部署流程,并探讨其工作原理。 1. **什么是Flyway** Flyway类似于Git,用于管理数据库的版本控制。它允许开发者通过SQL脚本对数据库进行变更,这些脚本按版本...

    spring boot相关书籍

    Spring Boot是Java开发领域的一款热门框架,它简化了Spring应用的初始搭建以及开发过程,使得开发者可以更快地创建生产级别的、基于Spring的应用。本压缩包包含的两本书籍——《SpringBoot揭秘》和《spring-boot-...

    springboot 打成war包 部署至tomcat 中间件运行

    在应用启动前,你可以通过Spring Boot的Flyway或 Liquibase工具来执行这些脚本,自动创建表结构和填充初始数据。 8. **cluster_web_works**:这个名字可能暗示了你的应用是集群部署的一部分,意味着可能涉及负载...

    基于Spring Boot和MyBatis的知识交流社区平台.zip

    基于Spring Boot和MyBatis的知识交流社区平台 项目概述 这是一个基于Spring Boot和MyBatis的社区平台,旨在为用户提供一个交流技术、分享知识的场所。项目包含了用户管理、问题发布、评论、通知等多个功能模块,...

    Java_学习如何使用Spring Boot致动器创建RESTful Web服务.zip

    在本文中,我们将深入探讨如何使用Spring Boot ...继续深入学习Spring Boot Actuator,你会发现更多的实用功能,如飞行记录器(Flyway)、数据源监控、端点自定义等,它们都能帮助你更好地构建和运维现代的微服务架构。

    详解Spring Boot中使用Flyway来管理数据库版本

    flyway.locations=classpath:/db ``` 第四步,执行单元测试 ApplicationTests,此时我们在日志中可以看到如下信息: ``` INFO 82441 --- [main] o.f.core.internal.util.VersionPrinter : Flyway Community Edition ...

    spring-boot2.0-中文参考指南

    Spring Boot 2.0是Java开发领域中备受瞩目的框架更新,它极大地简化了Spring应用程序的创建、配置和管理过程。这个中文参考指南是开发者掌握Spring Boot 2.0核心特性和最佳实践的重要资源。 Spring Boot的核心理念...

    基于Spring Boot的博科社区.zip

    基于Spring Boot的博科社区 项目概述 博科社区是一个基于Spring Boot框架的学习项目,旨在提供一个互动交流的平台,用户可以在这里提问、回答问题、分享知识和经验。项目包含了丰富的功能模块,如用户认证、问题...

Global site tag (gtag.js) - Google Analytics