मेरे पास एक डेटाबेस है जो यूयूआईडी को प्राथमिक कुंजी के रूप में उपयोग करता है, जैसे:रेल: क्या मैं गैर-पूर्णांक प्राथमिक कुंजी वाले पॉलीमोर्फिक संदर्भों का उपयोग कर सकता हूं?
create_table "my_table", :id => false, :force => true do |t|
t.string "id", :limit => 36
end
हालांकि, जब मैं उपयोग करने का प्रयास करता हूं: उस तालिका में विदेशी कुंजी के संदर्भ, यह आईडी के लिए पूर्णांक कॉलम उत्पन्न करता है। क्या: एक गैर-पूर्णांक आईडी से निपटने के लिए संदर्भ निर्देश दिए जाएंगे? रेफरिंग टेबल के लिए मेरा माइग्रेशन इस तरह है:
create_table "child_table" :id => false, :force => true do |t|
t.string "id", :limit => 36
t.references :my_table
end
मुझे पता है कि मैं मैन्युअल रूप से :my_table_id
और :my_table_type
कॉलम बना सकता हूं, लेकिन मुझे आश्चर्य है कि :references
इन परिस्थितियों में अपने जादू को करने के लिए बनाया जा सकता है ताकि मैं मेरे कोड में स्पष्ट रूप से आईडी + प्रकार को संभालने की ज़रूरत नहीं है।
हाँ, मैं सिर्फ ActiveRecord स्रोत देख लिया है और आईडी को पूर्णांक होने के लिए यह हार्डकोड किया गया है। – kdt