likes
comments
collection
share

数据库迁移工具 Flyway vs Liquibase (一)

作者站长头像
站长
· 阅读数 33

🤞 个人主页:@青Cheng序员石头

我相信没有必要描述为什么数据库迁移工具的使用对于使用关系型数据库引擎的现代应用程序是至关重要的。我只想说,它们可以使我们的生活变得更加轻松,并帮助我们将复杂和重复的过程自动化。通过这篇文章,我将对两个最常见的开源迁移工具,Flyway和Liquibase之间的异同提供一些更深入的见解。

工具描述

首先对这两个工具进行快速描述。两个最流行的迁移工具,Flyway和Liquibase,为数据库提供了版本控制。Flyway使用SQL或Java来定义一个变化。相比之下,Liquibase提供了以SQL、XML、YAML和JSON格式编写变更的灵活性。

Flyway的详细描述

它的创造者是一家名为Redgate的公司,它被描述为一个开源的数据库迁移工具,它更倾向于简单性和惯例而不是配置。

截至目前,它支持目前使用的大多数数据库引擎,如Postgres、Oracle、SQL Server、DB2、H2、MariaDB和其他许多数据库。它还支持一些云基础数据库服务,如亚马逊RDS或谷歌云SQL或Heroku。

脚本可以用纯SQL编写(支持许多方言)或用Java编写(主要用于更复杂的转换)。它有一个命令行客户端,但它也提供Maven和Gradle插件。

更重要的是,它有Java API,也适用于Android。

对于那些使用.NET和C#的人来说,有一个名为Evolve的Flyway对应软件,所以如果你有兴趣,可以看看这个软件。它的GitHub页面的链接将在文章的最后。

数据库迁移工具 Flyway vs Liquibase  (一)

Liquibase的详细描述

它开始于2006年,是一个用于数据库迁移的开源工具。

它是基于变化日志和变化集文件的概念,这些文件可以用SQL、XML、YAML、JSON来写。在那里,我们存储所有我们想在数据库结构中进行的改变。这些文件可以进一步用于将这些变化应用到任何其他数据库实例。

Liquibase支持后续的数据库。Postgres、Oracle、DB2、H2、MariaDB、SQL Server、SQLite,以及其他许多数据库。许多基于云的数据库也被支持,例如Azure SQL、Amazon RDS、Amazon Aurora。

你可以从shell中运行Liquibase迁移脚本,使用Maven Gradle甚至Ant等构建工具。此外,你可以生成纯SQL查询,可以由你的DBA-s/Ops/DevOps团队或任何正在照顾你的数据库的人进一步执行。

数据库迁移工具 Flyway vs Liquibase  (一)


少年,没看够?点击石头的详情介绍,随便点点看看,说不定有惊喜呢?欢迎支持点赞/关注/评论,有你们的支持是我更文最大的动力,多谢啦!

转载自:https://juejin.cn/post/7112343921040031780
评论
请登录