2014-07-04 6 views
19

मैं जानना चाहता हूं कि मैं rails g migration कमांड पर एक डिफ़ॉल्ट मान पास कर सकता हूं या नहीं। कुछ की तरह:क्या मैं माइग्रेशन उत्पन्न करने वाले रेलों के लिए डिफ़ॉल्ट मान पास कर सकता हूं?

$ rails generate migration add_disabled_to_users disabled:boolean:false #where false is default value for disabled attribute 

आदेश उत्पन्न करने के लिए:

class AddDisabledToUsers < ActiveRecord::Migration 
    def change 
    add_column :users, :disabled, :boolean, default: false 
    end 
end 

उत्तर

10

आप नहीं, केवल स्वीकार किए जाते हैं संशोधक हैं कर सकते हैं

limit 
precision 
scale 
polymorphic 
null 

और जानकारी: http://guides.rubyonrails.org/migrations.html#supported-type-modifiers

+0

आपके द्वारा प्रदान किया गया लिंक आजकल रेल 3 के लिए विशिष्ट नहीं है। –

17

रेल प्रवास जनरेटर डिफ़ॉल्ट मानों को संभाल नहीं करता है, लेकिन माइग्रेशन फ़ाइल के निर्माण के बाद आपको माइग्रेटियो अपडेट करना चाहिए n कोड

add_column :users, :disabled, :boolean, default: false 

आप भी इस लिंक को देख सकते हैं निम्नलिखित के साथ फाइल - http://api.rubyonrails.org/classes/ActiveRecord/Migration.html

+1

मुझे पता है कि मैं माइग्रेशन को बाद में संशोधित कर सकता हूं। मैं टर्मिनल पर एक प्राइम के रूप में डिफ़ॉल्ट मान पास करना चाहता हूं। संदर्भ: एक कस्टम जनरेटर में मैं कर रहा हूं: 'उत्पन्न करें "माइग्रेशन add_demo_to _ # {table_name} डेमो: बूलियन" ' – Leantraxxx

2

रेल में डिफ़ॉल्ट प्रवास जनरेटर मूलभूत मूल्यों को संभाल नहीं करता है, कोई रास्ता नहीं आसपास के रूप में अब टर्मिनल के माध्यम से परिभाषित डिफ़ॉल्ट मान निर्दिष्ट करने के लिए है रेल प्रवासन में।

आप को प्राप्त करने के लिए आप क्या

1) चाहते हैं में नीचे दिए गए चरणों का पालन करना चाहते हैं।

$ rails generate migration add_disabled_to_users disabled:boolean 

2) निष्पादित करें। बनाई गई नई माइग्रेशन फ़ाइल को संपादित करके नया कॉलम मान TRUE/FALSE पर सेट करें।

class AddDisabledToUsers < ActiveRecord::Migration 
    def change 
    add_column :users, :disabled, :boolean, default: false 
    end 
end 

3)। निष्पादन द्वारा जेनरेट माइग्रेशन ऊपर चलाएं।

$ rake db:migrate 
+2

जैसा कि मैंने दीप्ति काकाडे से कहा था, मुझे पता है कि मैं माइग्रेशन को संशोधित कर सकता हूं। यह मैंने नहीं पूछा है। – Leantraxxx

0

रेल 3.2 http://guides.rubyonrails.org/v3.2/migrations.html

रेल 4.1 के लिए दस्तावेज़ type modifiers को संदर्भित करता है, लेकिन Rails 3.2 के लिए दस्तावेज़ शब्द "आपरिवर्तक" का उल्लेख नहीं है इन के आधार पर कमांड लाइन प्रकार संशोधक के किसी भी प्रकार का समर्थन नहीं लगती पन्ना।

संबंधित मुद्दे

 संबंधित मुद्दे