
DrySQL和ActiveRecord中的ORM应用
ActiveRecord并不能贯彻DRY原则,特别是当你的数据库没有遵循Rails命名传统时。同样,ActiveRecord的关联与校验也是对数据库约束的冗余定义。Bryan想(尽可能地)避免这种情况的发生,他不想对自己的数据库schema加以改动,因为那样会令他改变程序的代码。

ActiveRecord并不能贯彻DRY原则,特别是当你的数据库没有遵循Rails命名传统时。同样,ActiveRecord的关联与校验也是对数据库约束的冗余定义。Bryan想(尽可能地)避免这种情况的发生,他不想对自己的数据库schema加以改动,因为那样会令他改变程序的代码。

在本文中,Ruby on Rails项目ActiveMessaging的负责人深入浅出地介绍了这个开源框架。通过ActiveMessaging可以很容易地在RoR应用中集成企业消息技术,另外ActiveMessaging还得到了软件技术领袖James Strachan和Jon Tirsen的热心支持。
随着时间的推移,管理基于SQL的脚本简直成了梦魇。Rails则通过ActiveRecord Migration解决了这个问题。 Sam Livingston-Gray编写了一个独立的Ruby小工具,来生成层次化的迁移脚本。因为SQL脚本通常都比较繁复冗赘,因此Sam将SQL和Ruby相结合创建了SQrbL。
尽管JRuby on Rails没有ActiveRecord,但作为Merb下常用ORM的DataMapper,已经有了全新的适配器来应用在Google App Engine的DataStore之上。另外:Reggae正在开发中,Rack应用在GAE上的自动部署指日可待。
除了ActiveRecord外, Sequel提供了一个更为完整的Ruby工具包来处理数据库的操作。InfoQ有机会采访了Jeremy Evans,8个月前他代替Sharon Rosner作为Sequel项目的负责人。
本次数据库新闻汇总有,FiveRun最近开源的ActiveRecord数据分片插件DataFabric;如何用Postgres异步客户端API和Ruby 1.9的Fibers来加速Postgres数据访问。
很多人都认为好的DSL应该是类似于英语的。Dave Thomas强烈反对这种看法,他主张DSL的要点不在于尽可能接近自然语言,把接近自然语言作为设计DSL的主导原则是非常有害的。他还列举了他心目中的若干DSL设计的要点,并提供了一些例子来说明怎样才是成功的DSL。
Bob Martin相信,把数据结构和对象进行映射的Active Record模式会是引起混乱的来源。虽然它看上去是对象,但实际上却是数据结构,不易于添加新的类型。为了保证系统的灵活性,Bob Martin建议把Active Record从应用中分离出去,这样应用就可以完全以面向对象的方式来进行设计管理。
ActiveHibernate项目为JRuby带来Hibernate的强大特性——特别是对一些ActiveRecord力所不及的棘手ORM用例尤其有用。为此我们采访了项目的维护人Johan Andries,详细了解该项目的一些情况。