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,另一個是新的。