मेरे पास यह मुद्दा था, लेकिन timestamps
फ़ंक्शन के साथ । यह अद्यतित_एट पर एक सूचकांक को स्वत: उत्पन्न कर रहा था जो 63 वर्ण सीमा से अधिक था:
def change
create_table :toooooooooo_loooooooooooooooooooooooooooooong do |t|
t.timestamps
end
end
अनुक्रमणिका नाम 'index_toooooooo_loooooooooooooooooooooooooooooong_on_updated_at' टेबल पर 'toooooooooo_loooooooooooooooooooooooooooong' बहुत लंबा है; सीमा 63 वर्ण है
मैं का उपयोग करने की कोशिश की timestamps
सूचकांक नाम निर्दिष्ट करने के:
def change
create_table :toooooooooo_loooooooooooooooooooooooooooooong do |t|
t.timestamps index: { name: 'too_loooooooooooooooooooooooooooooong_updated_at' }
end
end
हालाँकि, यह इंडेक्स नाम को फ़ील्ड updated_at
और created_at
फ़ील्ड दोनों पर लागू करने का प्रयास करता है :
सूचकांक नाम 'too_long_updated_at' टेबल पर 'toooooooooo_loooooooooooooooooooooooooooooong' पहले से मौजूद है
अंत में मैंने timestamps
हार मान ली और बस टाइमस्टैम्प को लंबा बना दिया:
def change
create_table :toooooooooo_loooooooooooooooooooooooooooooong do |t|
t.datetime :updated_at, index: { name: 'too_long_on_updated_at' }
t.datetime :created_at, index: { name: 'too_long_on_created_at' }
end
end
यह काम करता है, लेकिन अगर यह timestamps
विधि के साथ संभव है तो मुझे सुनना अच्छा लगेगा !