本文将以TestLink为案例,展示Flyway是如何工作的。在之前工作的基础上,在项目中引入Flyway, 然后将整理出TestLink1.9.14 - 1.9.19中间的各个版本的数据库升级脚本,通过Flyway实现TestLink数据库的升级。
TestLInk数据库脚本分析
在testlink-1.0.19的安装包中,提供了数据库安装所需的脚本。

可以看得出来, testlink作为一款用例管理软件,提供了两种安装模式
1) 全新安装,
此时,testnlink installer 根据用户选择的目标数据库,如mysql,执行对应的mysql目录下的数据库安装脚本。
2)更新升级
也就是在已有testlink安装实例的基础上进行升级。testlink为这种模式提供了alter_tables目录下的数据库升级脚本。以mysql为例,可以得到以下的内容

因此, 我们的目标就是
1)获取TestLink 1.9.14安装包中数据库全量安装脚本(mysql) ,并作为系统的基线
2)从TestLink1.9.19的安装包中,获取alter_tables目录下的数据库升级脚本(mysql,DB1.9.15 - DB1.9.19) db_schema_update.sql
网友评论