मुझे 0 से 3 तक फ़ील्ड का डिफ़ॉल्ट मान बदलने की ज़रूरत है, लेकिन पकड़ है कि मेरे पास पहले से ही हजारों रिकॉर्ड्स हैं और उन रिकॉर्ड्स को मान को 3 से 0 में बदलना है, यदि रिकॉर्ड में डिफ़ॉल्ट मान 0 है लेकिन दूसरे के लिए 1, 2 जैसे मूल्यों को वही रहना चाहिए। मैं यह कैसे कर सकता हूं? अपने कॉलमकिसी फ़ील्ड के लिए डिफ़ॉल्ट मान बदलने के लिए माइग्रेशन और सभी मौजूदा रिकॉर्ड के मान को नए डिफ़ॉल्ट मान में बदल दें, अगर उसके पास पुराना डिफ़ॉल्ट मान हो।
उत्तर
प्रवास आप विधि का उपयोग करना चाहिए में होना करने के लिए स्तंभ मजबूर संभालने है इस तरह की तालिका सेटिंग्स को बदलने के लिए change_column:
change_column :my_models, :attribute_name, :integer, :default => 3
और फिर बजाय सभी रिकॉर्ड के माध्यम से पाशन और उन्हें अद्यतन करने को व्यक्तिगत रूप से आप विधि का उपयोग update_all यह पसंद कर सकता है की सभी मौजूदा रिकॉर्ड अद्यतन करने के लिए,:
MyModel.update_all({ :attribute_name => 3 }, { :attribute_name => 0 })
पहला तर्क विधि बताता है कि क्या मान सेट करने के लिए और दूसरा कहता है यह शर्त है कि किस पंक्तियों को अद्यतन करना है।
अच्छा और साफ, मुझे इस बारे में पता नहीं था ... –
मुझे आश्चर्य है कि यह केवल कुछ डेटाबेस पर काम कर सकता है क्योंकि मुझे यकीन नहीं है कि सभी डिफ़ॉल्ट मान को बदलने की अनुमति देंगे। वैसे भी, मैं पुष्टि कर सकता हूं कि यह MySQL पर काम करता है। – mahemoff
मैंने अभी यह कोशिश की, और मुझे लगता है कि वाक्यविन्यास बदल गया होगा। यह मेरे लिए काम करता है: 'MyModel.update_all ({: attribute_name => 3}, {: attribute_name => 0}) ' – AlexBrand
ALTER TABLE your_table MODIFY your_column tinyint(1) NOT NULL DEFAULT 3;
UPDATE your_table SET your_column=3 WHERE your_column=0;
- संभालने
tinyint(1)
है, अपने आप को बदलने नहीं तो एक ही NOT NULL
आप हमेशाNOT NULl
- 1. इकाई फ्रेमवर्क माइग्रेशन में आवश्यक फ़ील्ड के लिए डिफ़ॉल्ट मान?
- 2. Magento - व्यवस्थापक फ़ील्ड के लिए डिफ़ॉल्ट मान
- 3. डिफ़ॉल्ट मान
- 4. डिफ़ॉल्ट मान
- 5. डिफ़ॉल्ट मान
- 6. डिफ़ॉल्ट मान
- 7. अन्य कॉलम से दक्षिण माइग्रेशन डिफ़ॉल्ट मान?
- 8. @RequestParam डिफ़ॉल्ट रूप से enum मान को डिफ़ॉल्ट मान
- 9. Django AdminForm फ़ील्ड डिफ़ॉल्ट मान
- 10. AdoNetAppender पैरामीटर के लिए डिफ़ॉल्ट मान
- 11. रेल प्रवास डिफ़ॉल्ट मान
- 12. सेट डिफ़ॉल्ट मान
- 13. मैं Django मॉडल में अन्य फ़ील्ड के मान के लिए डिफ़ॉल्ट फ़ील्ड मान कैसे सेट करूं?
- 14. प्लोन और निपुणता: "संबंध" फ़ील्ड के लिए डिफ़ॉल्ट मान
- 15. टेक्स्ट कॉलम के लिए डिफ़ॉल्ट मान
- 16. आदिम प्रकारों में "मान" का डिफ़ॉल्ट मान
- 17. RestTemplate - डिफ़ॉल्ट टाइमआउट मान
- 18. सरणी तर्कों के लिए डिफ़ॉल्ट मान
- 19. डिफ़ॉल्ट पैरामीटर मान
- 20. कैसे TRTTIParamter के डिफ़ॉल्ट मान
- 21. डब्ल्यूसीएफ एंडपॉइंट्स के लिए डिफ़ॉल्ट टाइमआउट मान
- 22. सेटिंग डिफ़ॉल्ट मान/फ़ाइलें
- 23. स्कैला: एक डिफ़ॉल्ट मान
- 24. Django डिफ़ॉल्ट रूप मान
- 25. OCaml: फ़ंक्शन तर्कों के लिए डिफ़ॉल्ट मान?
- 26. बढ़ावा :: फ़ंक्शन तर्क के लिए डिफ़ॉल्ट मान?
- 27. यदि कोई डिफ़ॉल्ट मान प्रदान नहीं किया गया है तो फ़ील्ड के लिए डिफ़ॉल्ट मान क्या है?
- 28. क्लोजर मानचित्र में डिफ़ॉल्ट मान
- 29. हाइबरनेट hbm2ddl.auto डिफ़ॉल्ट मान
- 30. मैं जैक्सन को डिफ़ॉल्ट मान
क्या आप बस 'सेट एसईटी मूल्य = 3 कहां मूल्य = 0' अपडेट नहीं कर सकते? – Pelshoff