公司产品升级降级比较严格, 以前有一套自定义格式, 格式很不好理解, 也很容易出错.
羡慕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生成常量/枚举列表, 更容易操作, 避免出错.
另外, 这种升级机制, 甚至可以扩展到对文件系统/进程的操作, 对于严谨的产品, 是个很好的升降级方案.
羡慕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生成常量/枚举列表, 更容易操作, 避免出错.
另外, 这种升级机制, 甚至可以扩展到对文件系统/进程的操作, 对于严谨的产品, 是个很好的升降级方案.
本文探讨了不同编程语言中用于数据库模式迁移的工具。通过对比Rails的ActiveRecord:Migrations与C#语言中的RikMigrations和Migrator.NET,讨论了这些工具如何帮助简化数据库升级与降级的过程。同时,文章还提及了Java世界中缺乏类似工具的情况,并提出了可能的原因及替代方案。
2356

被折叠的 条评论
为什么被折叠?



