मैं रेल में माइग्रेशन लिखने के तरीकों की तलाश कर रहा हूं जिन्हें बिना किसी विफलता के डेटाबेस के खिलाफ कई बार निष्पादित किया जा सकता है।रेल में सशर्त माइग्रेशन कैसे लिखें?
उदाहरण देना के लिए कहते हैं कि मैं इस प्रवास है:
class AddUrlToProfile < ActiveRecord::Migration
def self.up
add_column :profile, :url, :string
end
def self.down
remove_column :profile, :url
end
end
url
स्तंभ पहले से ही Profile
तालिका में मौजूद है (यदि schema.rb उदाहरण के लिए अप्रत्याशित रूप से संशोधित किया गया है), मेरे प्रवास कि कह असफल हो जायेगी यह एक डुप्लिकेट है!
तो इस माइग्रेशन को केवल तभी निष्पादित करना है जब इसे करना है?
धन्यवाद
अच्छा समाधान! धन्यवाद! –
एफवाईआई: आम तौर पर आपके माइग्रेशन में मॉडलों को संदर्भित करना एक बुरा विचार है - क्या भविष्य में उस मॉडल को हटा दिया गया है? या परिवर्तन? इसके बजाय, '' 'क्लास प्रोफाइल