作者 Bryan 是 DrySQL 的一名开发者,在使用 ActiveRecord 的过程中,他感觉到其实 ActiveRecord 并不能贯彻 DRY 原则,特别是当你的数据库没有遵循 Rails 命名传统时。同样,ActiveRecord 的关联与校验也是对数据库约束的冗余定义。Bryan 想(尽可能地)避免这种情况的发生,他不想对自己的数据库 schema 加以改动,因为那样会令他改变程序的代码。
既然 ActiveRecord 可以通过使用数据库的定义信息来动态更新字段元数据。那么,这个策略是否可以应用到所有数据库的结构呢?于是就有了 DrySQL 的诞生。简而言之,DrySQL 是 ActiveRecord 的一个扩展,目的是让代码完全从冗余中解放出来,它完全遵循 DRY 原则。它是用来为你的全部数据库 schema 动态建模的,并可查询它的信息 schema、消除应用程序中的面向关系映射。
本文对 ActiveRecord 的一些不足,DrySQL 的运作机理以及应用等内容做了深入浅出的介绍。
评论