मैंने मौजूदा कॉलम में डिफ़ॉल्ट बूलियन मान जोड़ने के बारे में कुछ प्रश्न (अर्थात् यह एक ) यहाँ देखा है । इसलिए मैंने change_columnसुझाव की कोशिश की, लेकिन मैं इसे सही नहीं कर रहा हूं।
मैंने कोशिश की:
$ change_column :profiles, :show_attribute, :boolean, :default => true
जो लौटता है -bash: change_column: command not found
मैं फिर भागा:
$ rails g change_column :profiles, :show_attribute, :boolean, :default => true
...तथा
$ rails change_column :profiles, :show_attribute, :boolean, :default => true
फिर दौड़ा rake db:migrate, लेकिन मूल्य :show_attributeबना रहा nil। प्रश्न में मैंने ऊपर उल्लेख किया है कि यह PostgreSQL में कहता है कि आपको इसे मैन्युअल रूप से अपडेट करने की आवश्यकता है। जब से मैं PostgreSQL का उपयोग कर रहा हूं मैंने अपने create_profilesमाइग्रेशन में निम्नलिखित को जोड़ा :
t.boolean :show_attribute, :default => true
क्या कोई मुझे बता सकता है कि मैं यहां क्या गलत कर रहा हूं?
upमाइग्रेशन में विधि में होना चाहिए , जो कि एक नया वर्ग है जो db / माइग्रेट / में उत्पन्न होगा। (downविधि को पूर्ववत करने के लिए लिखा जाना चाहिए जोupकरता है।) उस परिवर्तन को करें, फिरrake db:migrate।