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

  • Geoffrey Wiseman
  • 陈俊

2007 年 5 月 18 日

话题:Java敏捷数据库重构DevOps语言 & 开发文化 & 方法

虽然在软件开发中过程和工具是相互关联的,但数据库开发领域却不像 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 中文站贡献内容,请邮件至china-editorial@infoq.com
Java敏捷数据库重构DevOps语言 & 开发文化 & 方法