liquibase入门实战
2017-03-17 16:34
369 查看
liquibase说白了就是一个将你的数据库脚本转化为xml格式保存起来,其中包含了你对数据库的改变,以及数据库的版本信息,方便数据的升级和回滚等操作。
当然最重要的一点还是liquibase支持多种类型的数据库(我了解,目前市面上的主流关系型数据库都是OK的),也就是方便数据迁移。
废话不多说,直接上干货:
1.首先你需要引入liquibase的maven插件:
2.接着,你的数据库连接驱动当然不能忘记了:
3.然后呢,你是否注意到上面的一些配置文件了:
3.1 propertyFile 指明的是你对应的数据库配置文件的地址:具体配置如下:
3.3 outputChangeLogFile: 当你生成changeLog的时候的文件的输出路径
3.4 rollbackTag: 执行回滚命令时,需要回滚到的数据库版本
3.5 tag 执行tag命令式,给数据库版本打上的标签(一般和项目的版本是同步的)
最常用的命令说明:
update(将xml的改变更新到数据库)
rollback(回滚到某一版本或者某一时刻,必须要带上rollbackTag参数)
dbDoc (生成数据库文档)
dropAll(慎用,清空当前数据库,包括liquibase的版本信息)
generateChangeLog(根据数据库反向生成changeLog文件)
tag(为当前数据库打上标签)
我所知道的最基础的就是这些了,更多的东西需要自己去慢慢摸索了。
当然最重要的一点还是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=XXX3.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(为当前数据库打上标签)
我所知道的最基础的就是这些了,更多的东西需要自己去慢慢摸索了。
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- Android之获取手机上的图片和视频缩略图thumbnails
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- 数据库链接字符串查询网站
- 解决mysql 开启logbin 导致存储过程报错
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)