一、从Liquibase官网入手
Liquibase是一个开源的数据库版本管理工具,可以跟踪数据库的变化并同步到其他环境中。我们可以从Liquibase的官网获取最新的版本,并查看相关文档。下载Liquibase的zip包,解压缩后可以看到bin文件夹、conf文件夹等,其中liquibase.bat是Windows系统的入口,liquibase是Linux系统的入口。
二、Liquibase引入脚本
利用Liquibase引入脚本,即可将数据库表格的定义文件导入数据库。在安装好Liquibase之后,可以使用命令行工具来执行一些基本的任务,从而能够使用Liquibase的全部功能。通过命令行定位到项目的目录,进行以下操作即可:
liquibase --driver=com.mysql.jdbc.Driver \ --classpath=mysql-connector-java-5.1.27.jar \ --changeLogFile=db.changelog.xml \ --url="jdbc:mysql://localhost/mydatabase" \ --username=myuser \ --password=mypassword \ update
其中,我们需要在类路径中添加驱动程序并指定具体的变更日志文件(db.changelog.xml),以及要更改的数据库的url、用户名及密码。
三、Liquibase是什么
Liquibase是一个用Java编写的开源跨平台的数据变更管理库。它提供了灵活的标记式数据变更管理和持久化能力。关于Liquibase的具体机制,我们先来介绍一下数据变更管理,即数据库的版本控制。相当于JAVA中的git,SVN等工具。而针对数据库更改的管理老早以前的做法是建一个数据库变更文档,并手动更新变更日志,整个过程非常繁琐,易错。
四、Liquibase的使用
Liquibase采用基于XML文件的方式来管理和实现数据库变更操作,使用Liquibase就不需要手工管理数据库变更,以及管理不同环境数据库的内容。可以采用liqiubase自动迁移的方式,通过触发程序连接数据库并执行变更。
五、Liquibase怎么读
Liquibase可以通用于多种数据库,支持JDBC发送SQL语句到数据库,通过适配器实现特定数据库的一些操作,适配器可以在运行时通过LiquibaseVisco配置到Liquibase中,并为不同的操作提供对应的实现。在使用时需要先添加数据库驱动,指定liquibase的changelog,并设置数据库访问边界,如用户名和密码等参数。
六、Liquibase和jooq
在Liquibase和jooq结合使用可以更好的利用到jooq所提供的sql语言优点,增强代码的可读性和可维护性。对于复杂的查询统计,可以使用jooq,同时又保证了便携性和可扩展性。Liquibase和jooq在不同场景下均有各自优劣,所以使用时应结合实际情况进行选择.
七、Liquibase Flyway
Liquibase Flyway是另一个数据迁移工具,它类似于Liquibase,但它不支持多种数据库和某些高级功能。与Liquibase的POM不同,Flyway需要在自己的pom.xml文件中使用Maven启动Flyway插件。Flyway比Liquibase更注重追求简单性,但缺乏Liquibase的专业性。因此,当我们处于需要专业能力的时候,就应该选择Liquibase.
八、Liquibase changelog
changelog是由Liquibase控制的所有实体的定义所组成的XML文件,Liquibase通过检测changelog来知道如何更新数据库。changelog是Liquibase中最重要的部分之一,它包含了所有的变更集合和改变。对于每个数据库,Liquibase需要一个唯一的changelog实例。
九、Flowable Liquibase
Liquibase在Flowable中的应用场景主要是:多个版本流程的管理,在之前的流程中,使用的全部都是Flowable中默认的方式变更和版本统计,而在Liquibase的场景中,可以在一个changelog.xml文件中管理类似关系数据库管理方式的表和列,他可以让我们更好的修改表结构,提高了我们研发对于数据表结构修改和迁移的效率。