【视频&交流平台】
à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…
你就是你,不一样的小蚂蚁!
领取专属 10元无门槛券
私享最新 技术干货