मैंने मौजूदा कॉलम में डिफ़ॉल्ट बूलियन मान जोड़ने के बारे में कुछ प्रश्न (अर्थात् यह एक ) यहाँ देखा है । इसलिए मैंने 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
।