create_all के बजाय माइग्रेशन क्यों आवश्यक हैं
लाइव स्कीमा को हाथ से संपादित करने का जोखिम
create_all के बजाय माइग्रेशन क्यों आवश्यक हैं, CoddyKit पर Flask Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Flask Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Flask Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Schemas हमेशा बदलते हैं
वास्तविक apps विकसित होते रहते हैं, इसलिए आपकी tables को भी बदलना पड़ता है। Features बढ़ने पर आप columns जोड़ेंगे, fields के नाम बदलेंगे और पुराने fields हटाएँगे। 🔄
create_all केवल एक बार बनाता है
पहले देखी गई सीमा याद रखें: create_all केवल missing tables बनाता है। जो table पहले से मौजूद हो, उसे यह कभी नहीं बदलता।
db.create_all()लुभावना लेकिन गलत समाधान
एक लुभावना समाधान है table हटाकर फिर से बनाना। Demo में यह काम करता है, लेकिन इससे हर row deletes हो जाती है, जो production में अकल्पनीय है।
db.drop_all()
db.create_all()हाथ से संपादन जोखिम भरा है
Live database पर raw ALTER TABLE को हाथ से चलाना अविश्वसनीय है। एक टाइपो या छूटा हुआ चरण data को corrupt कर सकता है और उसे आसानी से वापस ठीक नहीं किया जा सकता।
Migration क्या होती है
migration एक छोटी script होती है, जो आपके schema को एक version से अगले version तक सुरक्षित और दोहराए जा सकने वाले चरणों में ले जाती है।
Version के अनुसार और क्रमबद्ध
हर migration की एक version id होती है और वह उससे पहले वाली migration की ओर संकेत करती है। साथ मिलकर वे हर schema change का क्रमबद्ध history बनाती हैं।
आगे और पीछे
एक migration दो रास्ते परिभाषित करती है: upgrade बदलाव लागू करता है और कुछ गलत होने पर downgrade उसे वापस करता है।
def upgrade():
...
def downgrade():
...Flask-Migrate, Alembic को लपेटता है
Flask-Migrate आपके app को Alembic से जोड़ता है, जो schema changes पहचानकर आपके लिए migration scripts लिखने वाला tool है।
यह वर्तमान version को track करता है
Migrations वर्तमान schema version को alembic_version नाम की table में दर्ज करती हैं, इसलिए tool को हमेशा पता रहता है कि आप कहाँ हैं।
हर environment में सुरक्षित
वही migration scripts आपके laptop, CI और production में चलती हैं, इसलिए हर environment में identical schema तैयार होता है।
कब बदलाव करें
create_all का उपयोग केवल पहले prototype के लिए करें। जैसे ही आपका model बदलना शुरू हो, स्थायी रूप से migrations का उपयोग करें।
त्वरित जाँच
आपकी table मौजूद है और आपने अभी एक column जोड़ा है। create_all पर निर्भर क्यों नहीं रहना चाहिए?
पुनरावृत्ति
आपने देखा कि create_all schema को विकसित क्यों नहीं कर सकता और migrations सुरक्षित, versioned और वापस किए जा सकने वाले बदलाव कैसे लाती हैं। 🎉
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “create_all के बजाय माइग्रेशन क्यों आवश्यक हैं” पाठ निःशुल्क है?
हाँ—“create_all के बजाय माइग्रेशन क्यों आवश्यक हैं” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Flask Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Flask Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“create_all के बजाय माइग्रेशन क्यों आवश्यक हैं” में मैं क्या सीखूँगा?
लाइव स्कीमा को हाथ से संपादित करने का जोखिम आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Flask Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Flask Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Flask Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“create_all के बजाय माइग्रेशन क्यों आवश्यक हैं” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Flask Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Flask Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- create_all के बजाय माइग्रेशन क्यों आवश्यक हैं
- माइग्रेशन आरंभ और स्वतः बनाएँ
- upgrade से लागू और वापस रोल बैक करें
- बनाई गई स्क्रिप्ट की समीक्षा और संपादन