Rails和数据库:当事情变得混乱时,你如何做得很好?

时间:2011-08-25 21:00:09

标签: mysql ruby-on-rails ruby activerecord

对于你们中的一些铁路大师有一个问题。我正在开发基于MySQL数据库最终成为rails3应用程序的东西。我的应用程序的问题是我的数据库设置方式。到目前为止,在我的rails体验中,使用标准脚手架来启动和运行我的模型已经运行得很好。每个模型为每个记录(PK)获取一个唯一的ID,只要模型名称与数据库表中的属性名称匹配,一切都顺利。

这一次,我正在创建我的应用程序的数据库已经创建,每个表使用两列或三列的组合来形成主键。这是我的问题...如何使用ActiveRecord设置模型以使用主键组合来正确识别记录并按照单个PK时的方式操作模型对象?

感谢您的提示

1 个答案:

答案 0 :(得分:1)

我建议继续为主表和关系使用单个整数主键。您可以创建一个(或多个)“备用密钥”(或唯一索引)以确保它们保持唯一。

另外,尽量避免使用数据元素作为主键。如果用于密钥的数据发生变化(这似乎发生在您最初认为永远不会更改的密钥上),则会产生复杂性。

话虽如此,有一篇关于非标准主键的文章:http://roninonrails.blogspot.com/2008/06/using-non-standard-primary-keys-with.html