处理遗留数据库的Active Record技巧
1. 模型设置与主键
在设置模型时,我们使用了 set_primary_key 方法,而不是将类属性 primary_key_prefix_type 设置为 :table_name_with_underscore 。这是因为我们的列标签是混合大小写的,而Active Record会使用Ruby的 downcase 方法将所有列或字段名强制转换为小写,除非我们特别指定不这样做。
例如:
class Comments < ActiveRecord::Base
set_table_name "comments"
set_primary_key "Comments_ID"
end
class Direct < ActiveRecord::Base
set_table_name "direct"
set_primary_key "Direct_ID"
end
需要注意的是,Active Record是区分大小写的。例如, account_id 和 Account_ID 在应用中会被视为两个不同的对象,即使数据库系统本身可能不区分大小写。
另外,虽然数据库中成员数据存储在 member 表中,但在应用中我们将模型定义为 Account 模型。这样在代码中引用时,会更
超级会员免费看
订阅专栏 解锁全文
57

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



