रेल के पुराने संस्करणों के लिए संक्षिप्त उत्तर (रेल के लिए अन्य उत्तर देखें 4+):
add_index :table_name, :column_name, unique: true
कई कॉलमों को एक साथ अनुक्रमित करने के लिए, आप एकल कॉलम नाम के बजाय कॉलम नामों की एक सरणी पास करते हैं,
add_index :table_name, [:column_name_a, :column_name_b], unique: true
यदि आपको "सूचकांक नाम ... बहुत लंबा है", तो आप name: "whatever"
नाम को छोटा करने के लिए add_index विधि में जोड़ सकते हैं ।
ठीक-ठीक नियंत्रण के लिए, एक " execute
" विधि है जो सीधे SQL निष्पादित करती है।
बस!
यदि आप इसे नियमित पुराने मॉडल सत्यापन के प्रतिस्थापन के रूप में कर रहे हैं, तो यह देखने के लिए जांचें कि यह कैसे काम करता है। उपयोगकर्ता को रिपोर्ट करने में त्रुटि की संभावना मॉडल-स्तरीय सत्यापन के बिना उतनी अच्छी नहीं होगी। आप हमेशा दोनों कर सकते हैं।