您的位置:首页 > 产品设计 > UI/UE

liquibase入门实战

2017-03-17 16:34 369 查看
liquibase说白了就是一个将你的数据库脚本转化为xml格式保存起来,其中包含了你对数据库的改变,以及数据库的版本信息,方便数据的升级和回滚等操作。

当然最重要的一点还是liquibase支持多种类型的数据库(我了解,目前市面上的主流关系型数据库都是OK的),也就是方便数据迁移。

废话不多说,直接上干货:

1.首先你需要引入liquibase的maven插件:

<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<!--指定数据库连接-->
<propertyFile>${project.basedir}/src/main/resources/rq/liquibase.properties</propertyFile>
<!--指定执行主文件-->
<changeLogFile>${project.basedir}/src/main/resources/rq/shiro-demo_${project.version}-now.xml</changeLogFile>
<outputChangeLogFile>${project.basedir}/src/main/resources/rq/shiro-demo_${project.version}-now.xml</outputChangeLogFile>
<!-- 是否需要弹出确认框-->
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
<!--输出文件的编码-->
<outputFileEncoding>UTF-8</outputFileEncoding>
<!--执行的时候是否显示详细的参数信息-->
<verbose>true</verbose>
<!--是否每次都重新加载properties-->
<propertyFileWillOverride>true</propertyFileWillOverride>
<rollbackTag>${project.version}</rollbackTag>
<tag>${project.version}</tag>
</configuration>
</plugin>

2.接着,你的数据库连接驱动当然不能忘记了:

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
</dependency>
注意:当你的jdbc驱动版本高于6.0.3版本的时候会出现一个异常,会报一直找不到列名,将版本改为更低版本的就OK了。

3.然后呢,你是否注意到上面的一些配置文件了:

3.1 propertyFile  指明的是你对应的数据库配置文件的地址:具体配置如下: 

url=XXX
driver=XXX
username=XXX
password=XXX
3.2  changeLogFile:你当前所执行的liquibase命令所指定的changeLog文件地址

3.3 outputChangeLogFile: 当你生成changeLog的时候的文件的输出路径

3.4 rollbackTag: 执行回滚命令时,需要回滚到的数据库版本

3.5 tag  执行tag命令式,给数据库版本打上的标签(一般和项目的版本是同步的)

最常用的命令说明:

update(将xml的改变更新到数据库)

rollback(回滚到某一版本或者某一时刻,必须要带上rollbackTag参数)

dbDoc (生成数据库文档)

dropAll(慎用,清空当前数据库,包括liquibase的版本信息)

generateChangeLog(根据数据库反向生成changeLog文件)

tag(为当前数据库打上标签)

我所知道的最基础的就是这些了,更多的东西需要自己去慢慢摸索了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息