我们需要在rails应用程序中使用遗留的mysql数据库。我已经整理了所有的连接,主键等。然而,一些旧表有超过100个字段(至少可以说它并不是非常规范),而且大多数字段都有par1,minvprono等名称
将这些字段映射/别名为普通名称的最佳方法是什么?
方法:
def invoice_number
self.MINVPRONO
end
def invoice_number=(invoice_number)
self.MINVPRONO = invoice_number
end
别名
alias_attribute :invoice_number , :MINVPRONO
无法想到任何其他方式。如果我希望能够使用由缺少方法创建的所有“魔术方法”,即find_by_invoice_number等,那么最好的方法是什么?
我在Ruby 1.9.2上使用Rail 3.0.5,db是Mysql 5.0.45
还有一件事,这不是一个要求,而是“很高兴”的事情。最终,我们将逐步淘汰依赖于旧数据库和列名结构的旧应用程序,并使用Rails生成器创建适当的规范化表,并从遗留表中迁移数据。准备它的最佳方法是什么,所以我们不得不减少代码重新分解?
答案 0 :(得分:3)
MySQL上的(可更新)视图如何模仿表设计的正确方法? http://dev.mysql.com/doc/refman/5.0/en/view-updatability.html
答案 1 :(得分:0)
Ok结束了做别名 - 这似乎是在Rails中做的方式。别名是。对于其他寻找信息的人:rails blog。还有一点需要注意的是它没有在rails 3 - 3.0.3中工作,因为在arel中缺乏支持 - 这就是让我失望的原因。从那时起升级,现在似乎很好。