用LiquiBase进行数据库迁移与重构

虽然在软件开发中过程和工具是相互关联的,但数据库开发领域却不像Java、.NET和Ruby那样总是受到现代IDE、敏捷过程和构建工具的大量 影响。有时,这种数据库开发与其它过程和工具的无关性导致了同一个软件项目中两组人员间,甚至是一个小组内的两个角色间,使用的过程和与工具不匹配。

近年来,出现了相当多关于如何减少这种不匹配现象的讨论。其中较为突出的是,Scott Ambler和Pramod Sadalage编写的《Refactoring Databases(重构数据库)》,这本书讲述了通过一系列细粒度、可跟踪的变更使用自动化迁移来开发数据库的方法——也被称为“数据库重构”,使这种数据库开发的理念深入民心。

如果你正在用的不是Ruby on Rails的ActiveRecord,而是在用Java的话,那LiquiBase(前身是Sundog Database Refactoring Tool)会个是不错的选择:这是一个用于数据库重构和迁移的开源工具。

LiquiBase能够实现数据库的迁移,你可以通过Ant的支持和一个尚在开发的Maven插件把它作为你项目构建工程的一部分,或者是通过一个Servlet监听器把它作为你的部署过程的一部分(http://www.liquibase.org/manual/latest/servlet_listener_migrator.html)。此外,你还可以通过命令行的方式去直接调用它。LiquiBase有完善的文档和快速入门指南来帮助快速设置和运行项目。虽然它的测试主要是集中在Oracle、Microsoft SQL Server、MySQL和PostgreSQL数据库上,它理论上能与任何JDBC所支持的数据库相兼容。

LiquiBase近日发行了一个新版本和功能计划,其中包括了数据库重构的IDE插件,加入对存储过程和View,以及生成测试数据的支持等等。

查看英文原文:Database Migration and Refactoring with LiquiBase

译者简介: 陈俊, SpringSide开 源项目的核心成员,以及中科院软件工程硕士,就职于Accenture。长期从事Java EE应用开发,热衷于软件体系结构,设计模式,软件过程改进及敏捷开发研究,也喜欢尝试不同的开源技术,一直以来坚持为开源社区的发展贡献自己的力量。为 InfoQ中文站贡献内容,请邮件至 [email protected]

你可能感兴趣的:(用LiquiBase进行数据库迁移与重构)