软件/数据库升级降级, Java里面有没有类似Rails ActiveRecord的方案?

dilipy 2010-05-24

公司产品升级降级比较严格,以前有一套自定义格式,格式很不好理解,也很容易出错.

羡慕Rails里面的ActiveRecord:Migration的优雅升级/降级方案,一直想引入项目中...

Google一番之后,发现C#已经有两个实现:RikMigrations和Migrator.NET.参见http://www.infoq.com/cn/news/2009/01/migrations_dotnet

可是Java世界里好像没人喜欢这玩意,JActiveRecord仅仅实现了ActiveRecord的基本功能...是不是大家都在用更好的API?

redmine中升级降级的序列:

http://www.redmine.org/projects/redmine/repository/show/trunk/db/migrate

redmine中一个版本的升级降级例子:

http://www.redmine.org/projects/redmine/repository/entry/trunk/db/migrate/007_create_journals.rb

里面直接用api创建表,索引,插入数据,修改/删除数据.

将及时是个反过程,很简单直观.

如果用Java实现,字段可以根据pojo生成常量/枚举列表,更容易操作,避免出错.

另外,这种升级机制,甚至可以扩展到对文件系统/进程的操作,对于严谨的产品,是个很好的升降级方案.

相关推荐