首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

198.Spring Boot Flyway工作原理

【视频&交流平台】

àSpring Boot视频

http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

àSpring Cloud视频

http://study.163.com/course/introduction.htm?courseId=1004638001&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

àSpring Boot源码

https://gitee.com/happyangellxq520/spring-boot

àSpring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

工作原理

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

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

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

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

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

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

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

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

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

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

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

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

点赞、转发、评论,伸出你的双手666…

你就是你,不一样的小蚂蚁!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180518B1VC9X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券