1
我需要创建一个将使用自定义函数生成的产品代码。它将从一个字母开始,拥有该类别的ID,然后有一个随机的7位数字。为此,我可以将primary_key
设置为一个字符串并生成代码,或者我可以使用FriendlyID。什么可能是最适合这种情况的?如果我们需要在Rails中使用自定义ID,我们应该使用FriendlyID还是主键?
我需要创建一个将使用自定义函数生成的产品代码。它将从一个字母开始,拥有该类别的ID,然后有一个随机的7位数字。为此,我可以将primary_key
设置为一个字符串并生成代码,或者我可以使用FriendlyID。什么可能是最适合这种情况的?如果我们需要在Rails中使用自定义ID,我们应该使用FriendlyID还是主键?
简短的回答:使用类似friendly_id
故事现在:
选择一个表的primary_key一个自然重点应始终得到很好的测量,它有产生影响你的数据模型。
第一个问题是关于其他表中的相关记录。如果你有相关的表,这些表中的外键也应该是VARCHAR并且与你生成的主键相匹配。如果你不确定该怎么做,避免自定义主键。
在你的问题的另一个问题可能是:
它会以字母开头,有ID类别
的是这ID一个Category
的主键模型?如果是这样的话,你正在生成一个DB隔离的密钥,但要重新密封这个密钥。再想想这个。
去一个slu由您的功能生成,你将是免费的未来。你可以创建一个全新的算法,因此只能对所有的变化进行一次。你甚至可能有两个slu,,一个是重新导向新的slu and,另一个是新的。