首页 > 数据库 > 数据库开发技术 > Flyway:简单的数据库迁移工具
Flyway是一个简单开源数据库版本控制器(约定大于配置),主要提供migrate、clean、info、validate、baseline、repair等命令。它支持SQL(PL/SQL、T-SQL)方式和Java方式,支持命令行客户端等,还提供一系列的插件支持(Maven、Gradle、SBT、ANT等)。
最简单的场景是当你用Flyway迁移到一个空数据库时。
Flyway将会试图查找数据库中的元数据表(metadata table)。由于数据库是空的,Flyway 将不会查找,而是创建一个新元数据表。
现在数据库中将有一张名为SCHEMA_VERSION的表:
此表将用于跟踪数据库的状态。
之后,使用Flyway进行迁移时将扫描系统文件或者应用的类路径中特定的文件,它们可以由SQL或Java编写。
然后Flyway将基于他们的版本号进行排序并依次执行:
随着每次执行,对应地更新元数据表:
schema_version表
元数据表的创建和初始化,我们现在可以讨论迁移到一个新的版本。
Fly进行迁移时会重新扫描系统文件或者应用的类路径中特定的文件,并且与元数据表进行校验,如果它们的版本号低于或等于当前标记的版本,它们将被忽略。
而高于标记的文件将等待迁移:状态为可用(available),但是未执行 。
Flyway会将它们按照版本号进行排序并依次执行。
元数据表相应的更新:
schema_version表
就是如此简单!我们可以非常容易的创建一个高于当前标记版本的迁移文件,用来更新数据库,无论是表结构的变化或是数据的更新。下次Flyway开始迁移时,它会找到这个文件并相应更新数据库。
可以从这里获取最新的下载,包括:
通过Maven添加Flyway依赖可使用下面脚本:
通过Gradle添加Flyway依赖:
官方网站:https://flywaydb.org/
开源地址:https://github.com/flyway/flyway
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26477398/viewspace-2128929/ ,如需转载,请注明出处,否则将追究法律责任。