FlyWay工作原理

站长

发表文章数:4342

kerberos&ssh 原理、免密登录搭建

  本文译自Flyway官方文档,原文地址https://flywaydb.org/getstarted/how

当你最开始将FlyWay指向一个空数据库时。

 FlyWay工作原理

它会试着去查找schema历史表,如果此时数据库是空的,则FlyWAY会自己创建一张历史表 。
你现在就有了个仅包含空表flyway_schema_history(默认)的数据库

FlyWay工作原理

 这张表将会追踪数据库的状态,

随后flyway会立即扫描应用的文件系统或类路径(classpath)以用于迁移,Sql或Java文件都可以支持迁移。

迁移会按照版本号进行排序并依次执行:

FlyWay工作原理

 

随着每次迁移被执行,schema_history历史表会依此更新记录

flyway_schema_history

installed_rank

version

description

type

Script

checksum

installed_by

installed_on

execution_time

success

1

1

Initial Setup

SQL

V1__Initial_Setup.sql

1996767037

axel

2016-02-04 22:23:00.0

546

true

2

2

First Changes

SQL

V2__First_Changes.sql

1279644856

axel

2016-02-06 09:18:00.0

127

true

 

 

现在,元数据与初始状态都已就位,可以讨论下迁移到新版本

Flyway会再次扫描应用的文件系统和类路径,迁移依据历史表检查,如果版本号低于或等于当前版本号,则忽略迁移操作。

剩下的迁移是增量迁移(pending migrations),准备就绪,但未执行

FlyWay工作原理

[ Coding七十二绝技 ] 如何利用Java异常快速分析源码

它们会按照版本号排序并依次执行:

FlyWay工作原理

 

 schema_history历史表会依此更新记录:

flyway_schema_history

installed_rank

version

Description

type

Script

checksum

installed_by

installed_on

execution_time

success

1

1

Initial Setup

SQL

V1__Initial_Setup.sql

1996767037

axel

2016-02-04 22:23:00.0

546

true

2

2

First Changes

SQL

V2__First_Changes.sql

1279644856

axel

2016-02-06 09:18:00.0

127

true

3

2.1

Refactoring

JDBC

V2_1__Refactoring

 

axel

2016-02-10 17:45:05.4

251

true

 

That’s it! 每次数据库需要改进时,无论是DDL或DML,只要创建一个版本号高于目前版本的迁移就行,下次Flyway启动时,它会依次进行数据库的升级操作。

DDL: Data Definition Language 数据库定义语言

DML: Data Manipulation Language 数据库操作语言

Hadoop完全分布式集群搭建

未经允许不得转载作者:站长, 转载或复制请以 超链接形式 并注明出处 xss云之家,资源网,娱乐网,网络技术资源分享平台
原文地址:《FlyWay工作原理》 发布于2019-12-16

分享到:
赞(0) 打赏 生成海报

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

投稿赚钱
2020年在家赚取零花钱
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册