मैं किसी भी प्रवासन के बिना रेल कंसोल से एक तालिका कॉलम का नाम बदलना चाहता हूं।माइग्रेशन के बिना रेल कंसोल से कॉलम का नाम कैसे बदल सकता हूं?
मैं यह कैसे कर सकता हूं?
मैं किसी भी प्रवासन के बिना रेल कंसोल से एक तालिका कॉलम का नाम बदलना चाहता हूं।माइग्रेशन के बिना रेल कंसोल से कॉलम का नाम कैसे बदल सकता हूं?
मैं यह कैसे कर सकता हूं?
rails dbconsole
ALTER TABLE name RENAME column TO column
बस एक साइड नोट @ बोटी, आपका 'डीबी/स्कीमा.आरबी' इस विधि का उपयोग करके अपडेट नहीं किया जाएगा, जो आपको तैनात करते समय संभावित रूप से समस्याएं पैदा करेगा। यदि ऐसी कोई चिंता है, तो आप ऐसा करने के बाद 'रेक डीबी: स्कीमा: डंप' चला सकते हैं ताकि आपकी स्कीमा फ़ाइल वर्तमान डेटाबेस संरचना (और नामकरण) के साथ सिंक्रनाइज़ हो। –
rails g migration ChangeColName
आप फ़ाइल डाटाबेस को संपादित/विस्थापित/"टाइमस्टैम्प" डीईएफ़ परिवर्तन में सम्मिलित _change_col_name.rb -
rename_column :tablename, :old_column_name, :new_column_name -save
आप कंसोल में चलाने : rake db:migrate
:-)
मुझे यकीन नहीं है कि क्या आप "टर्मिनल" के साथ "कंसोल" को भ्रमित कर रहे हैं, लेकिन ओपी का मतलब यह था कि वास्तविक रेल कंसोल (आईआरबी इंटरफेस) में माइग्रेशन फ़ाइल लिखने/चलाने के बिना इसे कैसे किया जाए। –
मैंने इसे कंसोल से चलाने का विकल्प चुना:
ActiveRecord::Base.connection.rename_column :tablename, :old_column_name, :new_column_name
बेस्ट उत्तर। यह आपको रेलवे माइग्रेशन के अंदर जैसे आदेशों को निष्पादित करने की अनुमति देता है। –
आपको इसे माइग्रेशन के बिना नहीं करना चाहिए, यह सर्वोत्तम अभ्यास नहीं है और न ही रेल मार्ग। –
मुझे पता है कि यह सिंक समस्या से बाहर एक बहुत ही अजीब डीबी था ... – Boti