जब मैं माइग्रेशन में references :foo
का उपयोग करता हूं, तो उत्पन्न होने वाले कॉलम को foo_id
कहा जाता है। क्या वास्तव में references :foo
करने और integer :foo_id
करने के बीच कोई अंतर है? शायद डेटाबेस स्तर पर रिश्ते को लागू करने के लिए हुड के नीचे कुछ चल रहा है?रेल: 'संदर्भ: foo' और 'integer: foo_id' के बीच कोई अंतर है?
6
A
उत्तर
8
परिणाम आपके विशिष्ट मामले के लिए समान है; तुम सही हो। लेकिन references
:polymorphic => true
विकल्प के लिए अनुमति देता है जो तालिका में स्ट्रिंग के रूप में स्वचालित रूप से foo_type
कॉलम बना देगा।
अर्थात्, references
बेहतर है यदि आप अपने माइग्रेशन डेटाबेस में तालिकाओं के बीच संबंधों को बेहतर ढंग से प्रतिबिंबित करने का प्रयास कर रहे हैं।
2
@ माइक का जवाब अच्छी तरह से references
का अर्थ बताता है। हालांकि, यह अक्सर बेहतर होता है कि आपके एआर एसोसिएशन के लिए आपके माइग्रेशन को बहुत करीबी न करें। विशेष रूप से, यदि आप ऐप को संस्करण नियंत्रण से अपडेट करने से पहले अपने माइग्रेशन चलाते हैं, तो आप अपने ऐप को तैनात करने के लिए सभी प्रकार के अचार में जा सकते हैं। जब तक यह आपको काटता है तब तक यह एक बड़ा सौदा नहीं है :-)
संबंधित मुद्दे
- 1. int और integer के बीच PHP अंतर
- 2. क्या "foo is none" और "foo == कोई नहीं" के बीच कोई अंतर है?
- 3. "#if Foo - 0 == 0" और "#if परिभाषित (Foo) और& Foo == 0" के बीच क्या अंतर है?
- 4. क्या सी ++ या सी में foo (शून्य) और foo() के बीच कोई अंतर है?
- 5. क्या [foo] {...} कैप्चर और [foo] {...} कैप्चर किया गया है यदि 'foo' संदर्भ चर है?
- 6. "स्ट्रक्चर फू *" और "foo *" के बीच अंतर जहां foo एक संरचना है?
- 7. जावा में if (! Foo) और if (foo == false) के बीच प्रदर्शन अंतर क्या है, यदि कोई है?
- 8. स्कैला को "def foo" और "def foo()" के बीच का अंतर कैसे पता चलता है?
- 9. कॉन्स के बीच अंतर। सूचक और संदर्भ?
- 10. पास-दर-संदर्भ और * के बीच अंतर?
- 11. प्रिये और प्राइ-रेल के बीच अंतर
- 12. गतिविधि और संदर्भ के बीच क्या अंतर है?
- 13. वेब संदर्भ और सेवा संदर्भ के बीच अंतर?
- 14. इंटरप्ट और अपवाद संदर्भ के बीच क्या अंतर है?
- 15. विदेशी कुंजी और संदर्भ कुंजी के बीच क्या अंतर है?
- 16. क्या कोई इकाई और वस्तु के बीच कोई अंतर है?
- 17. वस्तु और संदर्भ के बीच क्या अंतर है?
- 18. जावा में संदर्भ और वस्तुओं के बीच क्या अंतर है?
- 19. संदर्भ द्वारा कॉल के बीच क्या अंतर है और
- 20. परियोजना संदर्भ और परियोजना निर्भरताओं के बीच क्या अंतर है?
- 21. क्या डब्लूएसजीआई और एफसीजीआई के बीच कोई गति अंतर है?
- 22. क्या System.Windows.Clipboard और System.Windows.Forms.Clipboard के बीच कोई अंतर है?
- 23. रेल और Grails पर रूबी के बीच क्या अंतर है?
- 24. रैक और रेल धातु (रूबी) के बीच क्या अंतर है?
- 25. रेल पर रूबी और रूबी के बीच क्या अंतर है?
- 26. सीडीआई में संदर्भ और दायरे के बीच अंतर - और जावा
- 27. क्या GORM के लिए 'स्थैतिक ट्रांजिस्टर' और 'क्षणिक प्रकार एफ़िल्ड' घोषणा के बीच कोई अंतर है?
- 28. क्या (स्थानीय), '।' के बीच कोई अंतर है और लोकहोस्ट?
- 29. क्या MsgBox और MessageBox के बीच कोई अंतर है। दिखाओ?
- 30. संरक्षित आंतरिक और आंतरिक संरक्षित के बीच कोई अंतर है?
तो क्या आप सुझाव दे रहे हैं कि संदर्भ खतरनाक हो सकते हैं? क्या आप इसका उदाहरण दे सकते हैं कि यह किस प्रकार का अचार मुझे प्राप्त कर सकता है? – kdt
आमतौर पर यह समस्याएं पैदा कर सकता है यदि आपके माइग्रेशन और मॉडल-कोड अपडेट समान संस्करण नियंत्रण प्रतिबद्धता में नहीं हैं, या उदाहरण के लिए यदि आप बाद में एसोसिएशन के बारे में अपना मन बदलते हैं और उस मशीन को अपडेट करने की आवश्यकता है जो वक्र के पीछे बहुत दूर है आपका विकास तो आपके पास माइग्रेशन 1 होगा जो 'संदर्भ' का उपयोग करता है और इसलिए एआर मॉडल एसोसिएशन से विदेशी कुंजी नाम निर्धारित करता है। बाद में आप उस नए माइग्रेशन को पूर्ववत करने का निर्णय लेते हैं और अपने कोड से एसोसिएशन को भी हटा देते हैं। अब, कोई भी मशीन जिसका स्कीमा 2 पीढ़ी पुराना है, माइग्रेशन नहीं चला सकता क्योंकि एसोसिएशन चला गया है। – noodl
मुझे पता है कि यह तरह का संकलित है। मुझे इसके बारे में चिंता नहीं करनी चाहिए जब तक कि यह वास्तव में आपको दर्द न पहुंचाए :-) – noodl