您的位置:首页 > 数据库

数据库重构工具实践总结

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) 思考回归。现在还没有理清楚如何使用回归功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: