2011-03-18 83 views
2

我们需要在Rails应用程序中使用旧式MySQL数据库。我已经整理了所有的连接,主键等。然而,一些旧表格有超过100个字段(至少可以这样说),并且大多数字段的名称都是par1,minvprono等。将Rails模型属性映射到遗留表中的字段

映射/别名的最佳方式是什么字段为正常名称?

  • 方法:

    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和DB铁路3.0.5是mysql的5.0.45

另外一两件事,这不是要求,而是一个“最好有”的东西。最终,我们将淘汰依赖旧数据库和列名结构的传统应用程序,并使用Rails生成器创建适当的规范化表,并从旧表迁移数据。准备它的最好方法是什么,所以我们不得不少做代码重构?

回答

0

Ok完成了别名 - 这似乎和接受的方式在Rails中。别名是。对于其他人寻找信息:rails blog。另外还有一点需要注意的是,由于缺少对arel的支持,这种情况在rails 3 - 3.0.3中不起作用 - 这就是让我失望的原因。从那时起升级,现在看起来好了。

相关问题