Rails遗留数据库访问之四使用tdmodel插件

本文根据Rails遗留数据库访问之一、二、三文档中提到的问题,给出了整合解决方案:tdmodel插件。 淘宝的测试工具“TD银行”就是使用这个插件完成数据库访问的。现在,这个插件已经上传到github了:http://github.com/arthasgo/tdmodel。 Tdmodel提供如下核心功能: 1、  根据数据模型自动创建ORM映射; 2、  rails编码与数据库编码自动转换; 3、  多数据库并发访问; Tdmodel运行流程 Tdmodel加载的时候会自动在/config/legacy_db目录下寻找遗留数据库配置、和数据模型,并自动完成数据表ORM映射: Tdmodel应用实例 假设有个两个遗留数据库,book_db1/book_db2,里面有3张数... 详情

Rails遗留数据库访问之三数据库编码自动转换

Rails默认使用utf8编码,而大多数数据库使用本地编码,例如淘宝的oracle数据库多大使用GBK编码。所以,在数据库访问时,如何处理两种不同的字符编码是一件很重要的事情。 本文通过扩展ActiveRecord实现了Rails与数据库编码的自动转换。 手动转换编码的黑暗时代 我们先看一下在编码自动转换之前是怎么做的,比如,有一个数据表books使用GBK编码,有下面ORM映射: class Book gbk_name, gbk_author 读取对象需要这样: book = Book.find :first utf8_name = Iconv.conv('utf-8//IGNORE','gb2312//IGNORE', book.name) 查... 详情

Rails遗留数据库访问之二分库分表

在大型数据库中不可避免遇到分库、分表问题,ActiveRecord对此提供了间接支持。 改变数据库链接 使用establish_connection ActiveRecord::Base支持为每个数据表设置不同的数据库链接,例如有一个数据表books拥有如下的ORM类: class Book ’The Ruby Way’ 使用magic_multi_connections插件 使用establish_connection改变数据库链接简单、直观,但显得比较啰嗦,而且容易忘记切换数据库。使用magic_multi_connections插件就可以避免这个问题,这个插件提供了不用切数据库链接,就能实现多数据库访问能力。 在使用的时候,需要为每个数据库建立一个module... 详情

Rails遗留数据库访问之一动态ORM

为了简化数据库访问,现代编程语言大多支持ORM(Object-Relation Mapping,对象关系映射),实现以程序对象的方式操作数据库,避免写SQL操作数据库。 Rails的ActiveRecord组件为数据库访问提供了很好的支持,只需要创建一个与数据表名关联的ActiveRecord::Base子类, 就能实现ORM: 例如:建立与books数据表ORM: # book.rbclass Book ’ The Ruby Way’, :author=>’ Hal Fulton’ Rails为字符串扩展了一个方法classify,来生成类名。ActiveRecord把数据表名books类名化,从而建立books与Book映射。为了实现Book类按需加载,需要... 详情

返回首页 博客 技术交流 产品 期刊下载 关于我们 意见反馈 无障碍

浙ICP备09109183号-14 Copyright © 2003-2015 TaobaoTesting.com 版权所有