मेरे पास "वोट" नामक एक पॉलिमॉर्फिक टेबल है, जहां उत्तर और प्रश्नों के वोट हैं।अद्वितीय "एसोसिएशन_टाइप" और "एसोसिएशन_आईडी" के साथ रेल में पॉलिमॉर्फिक टेबल को इंडेक्स करने के लिए कैसे करें
वोट
user_id voteable_id voteable_type value
1 2 Answer 1
2 2 Answer 1
इस मामले में, आईडी = 2 के साथ जवाब दो वोट है।
सवाल यह है: इस तालिका को कैसे इंडेक्स करें?
पहले दृष्टिकोण:
add_index :votes, [:voteable_id, :voteable_type]
इसका कारण यह है डुप्लीकेट कुंजी मान इच्छा अद्वितीय बाधा
दूसरा दृष्टिकोण का उल्लंघन करती है काम नहीं करेगा:
add_index :votes, :voteable_id,
add_index :votes, :voteable_type
यह एक मुझे लगता है कि होगा सी के कारण ज्यादा प्रदर्शन नहीं है आईडी के लिए प्रश्न पूछें और एक ही समय में टाइप करें।
तीसरा दृष्टिकोण:
add_index :votes, [:user_id, :voteable_id, :voteable_type]
यह पिछले एक एक अच्छा है? क्या तीन स्तंभों को अनुक्रमित किया जाना चाहिए?
धन्यवाद
धन्यवाद! मुझे नहीं पता कि यह मेरे पिछले माइग्रेशन में अद्वितीय क्यों बना रहा था। अब यह – Luccas
काम करता है क्या पहले दृष्टिकोण और दूसरे दृष्टिकोण के बीच कोई अंतर है, या यह सिर्फ वाक्यविन्यास का मामला है? – kibaekr
पहला दृष्टिकोण दो क्षेत्रों पर एक सूचकांक है, दूसरा दृष्टिकोण दो अलग-अलग सूचकांक है। – RebeccaD