数据库重构工具实践总结
2015-11-23 18:06
134 查看
自从看了《持续集成 软件质量改进和风险降低之道》后,对在研发团队内部如何建设一个高效的持续集成平台产生了兴趣。目前已在团队内部引入了Jenkins持续集成工具,已经连续在三个项目中进行了实践。目前持续环境缺少对数据库的持续集成,在做内部培训时,同事介绍了Liquibase工具可以对数据库重构进行管理。对Liquibase做了研究,完成了ant与liuquibase的集成。将学习的心得记录下来,在合适的时机引入到研发流程中。
1、liquibase简介
Liquibase是一个用于跟踪、管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制。
Liquibase具备如下特性:
* 不依赖于特定的数据库,目前支持包括Oracle/Sql Server/DB2/MySql/Sybase/PostgreSQL/Caché等12种数据库,这样在数据库的部署和升级环节可帮助应用系统支持多数据库。
* 提供数据库比较功能,比较结果保存在XML中,基于该XML你可用Liquibase轻松部署或升级数据库。
* 以XML存储数据库变化,其中以作者和ID唯一标识一个变化(ChangSet),支持数据库变化的合并,因此支持多开发人员同时工作。
* 在数据库中保存数据库修改历史(DatabaseChangeHistory),在数据库升级时自动跳过已应用的变化(ChangSet)。
* 提供变化应用的回滚功能,可按时间、数量或标签(tag)回滚已应用的变化。通过这种方式,开发人员可轻易的还原数据库在任何时间点的状态。
* 可生成数据库修改文档(HTML格式)
* 提供数据重构的独立的IDE和Eclipse插件
2、liquibase使用步骤
1)创建变更控制文件db.change.xml
2) 编写变更集合changeset,changeset支持xml、sql、yaml格式
3)执行更新命令,将变更记录更新到数据库中
3、liuiqbase最佳实践
1) 使用树形结构管理变更控制文件
2) 每个变更集合使用顺序序列号或有意义的名字记录
3)变更集中编写注释,这将有利于后期回忆和修改、其他人阅读我们的变更
4) 思考回归。现在还没有理清楚如何使用回归功能。
1、liquibase简介
Liquibase是一个用于跟踪、管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制。
Liquibase具备如下特性:
* 不依赖于特定的数据库,目前支持包括Oracle/Sql Server/DB2/MySql/Sybase/PostgreSQL/Caché等12种数据库,这样在数据库的部署和升级环节可帮助应用系统支持多数据库。
* 提供数据库比较功能,比较结果保存在XML中,基于该XML你可用Liquibase轻松部署或升级数据库。
* 以XML存储数据库变化,其中以作者和ID唯一标识一个变化(ChangSet),支持数据库变化的合并,因此支持多开发人员同时工作。
* 在数据库中保存数据库修改历史(DatabaseChangeHistory),在数据库升级时自动跳过已应用的变化(ChangSet)。
* 提供变化应用的回滚功能,可按时间、数量或标签(tag)回滚已应用的变化。通过这种方式,开发人员可轻易的还原数据库在任何时间点的状态。
* 可生成数据库修改文档(HTML格式)
* 提供数据重构的独立的IDE和Eclipse插件
2、liquibase使用步骤
1)创建变更控制文件db.change.xml
2) 编写变更集合changeset,changeset支持xml、sql、yaml格式
3)执行更新命令,将变更记录更新到数据库中
3、liuiqbase最佳实践
1) 使用树形结构管理变更控制文件
2) 每个变更集合使用顺序序列号或有意义的名字记录
3)变更集中编写注释,这将有利于后期回忆和修改、其他人阅读我们的变更
4) 思考回归。现在还没有理清楚如何使用回归功能。
相关文章推荐
- Mysql中字段大小写敏感问题
- MySQL Study之--MySQL 表连接
- MySQL Study之--MySQL 表连接
- 附加sql数据库
- Oracle数据库按时间进行分组统计数据的方法
- 使用SQL*Plus的Preliminary方式连接数据库
- 如何优化Mysql千万级快速分页,limit优化快速分页,MySQL处理千万级数据查询的优化方案!
- MYSQL 常用查詢
- SQLServer中跨库复制数据
- Oracle Interval-Partition 解决Range分区大难题
- oracle数据还原
- mongodb3.0关于用户创建的方法
- 第四周项目四:建立双链表数据库
- 跨服务器查询时,需要带入参数的问题
- mysql命令行下将数据导出成excel文件
- SQL Or NOSQL
- 平台数据库导入导出快捷工具说明
- 平台数据库导入导出快捷工具说明
- mysql数据库操作缓慢,原来是字段的内容过长导致的,看来cache很有用.报错:Lock wait timeout exceeded; try restarting transaction
- ORACLE中极易混淆的几个NAME