के बाद कॉलम जोड़ें, मैंने तालिका में किसी विशिष्ट कॉलम के बाद तालिका में कॉलम जोड़ने का प्रयास किया। यहाँ मैं क्या किया है:रेल पर रूबी एक विशिष्ट कॉलम नाम
class AddReactionIdToPatientAllergies < ActiveRecord::Migration
def change
add_column :patient_allergies, :reaction_id, :string
add_column :patient_allergies, :integer, :string
add_column :patient_allergies, :, :after
add_column :patient_allergies, :=, :string
end
end
मुझे लगता है कि आदेश में अच्छी तरह से चला गया न:
rails generate migration add_reaction_id_to_patient_allergies reaction_id: integer :after => 'patient_id'
यहाँ क्या मेरी माइग्रेशन फ़ाइल की तरह लग रहा है। मैं उपरोक्त फ़ाइल में '=' देखता हूं। मुझे नहीं लगता कि यह वहां होना चाहिए। क्या कोई मुझे बता सकता है कि मुझे कुछ याद आया?
यदि हां, तो मैं उपरोक्त को पूर्ववत कैसे करूं?
@ माइकल इस सफल उत्तर में एक और चीज़ जोड़ने के लिए, एक सफल लेकिन अवांछित माइग्रेशन को पूर्ववत करने के लिए आप रेक डीबी कर सकते हैं: रोलबैक - यह सबसे हालिया माइग्रेशन को उलट देता है। आप इसे दोहराकर आगे बढ़ सकते हैं। मैं अक्सर छोटे बदलाव करने के लिए पूर्ववत करता हूं, जैसे कि डिफ़ॉल्ट मान या कॉलम ऑर्डर – Polsonby
सेट करना ': बाद' विकल्प [API दस्तावेज़] में शामिल नहीं दिखता है (http://api.rubyonrails.org/classes /ActiveRecord/Migration.html), कम से कम रेल 4.2.3 के लिए। कोशिश करने के बाद पता चला: माइग्रेशन ठीक हो गया लेकिन ऑर्डरिंग लागू नहीं हुई थी। – nandinga
@ नंदिंग यह नवीनतम रेल में अभी भी [कॉलमडिफिनिशन] (https://github.com/rails/rails/blob/master/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb#L13) वर्ग जैसा दिखता है 'बाद के विकल्प', हालांकि मैंने रेल की आखिरी कुछ रिलीज पर इसका परीक्षण नहीं किया है। – piersadrian