1. माइग्रेशन यांत्रिकी का अवलोकन
1.1 माइग्रेशन की संकल्पना और भूमिका
डेटाबेस माइग्रेशन डेटा मॉडल में परिवर्तनों को डेटाबेस संरचना के साथ समक्रम संरचित करने की प्रक्रिया है, जो डेटा स्थायित्व के लिए महत्वपूर्ण है। जैसा कि एप्लिकेशन संस्करण बदलता है, डेटा मॉडल में अक्सर परिवर्तन होते हैं, जैसे कि फ़ील्ड जोड़ना या हटाना, या सूचकांकों को संशोधित करना। माइग्रेशन विकासकों को इन परिवर्तनों को संस्करण और व्यवस्थित तरीके से प्रबंधित करने की अनुमति देता है, डेटाबेस संरचना और डेटा मॉडल के बीच संरचना से संगति सुनिश्चित करने के लिए।
आधुन
3.3 ऑफ़लाइन मोड
ऑफ़लाइन मोड डेटाबेस पर न कार्रवाई करके स्कीमा परिवर्तनों को io.Writer
पर लिखने की अनुमति देता है। यह स्कीमा के परिवर्तनों को प्रभाव में आने से पहले SQL कमांड की प
1. अटलस टूल की इंस्टॉलेशन
वर्जन्ड माइग्रेशन का उपयोग करने से पहले, आपको अपने सिस्टम पर अटलस
टूल को इंस्टॉल करना होगा। अटलस
एक माइग्रेशन टूल है जो कई डेटाबेस सिस्टम का समर्थन करता है, जो डेटाबेस स्कीमा परिवर्तनों को प्रबंधन के लिए शक्तिशाली विशेषताएँ प्रदान करता है।
macOS + Linux
curl -sSf https://atlasgo.sh | sh
Homebrew
brew install ariga/tap/atlas
Docker
docker pull arigaio/atlas
docker run --rm arigaio/atlas --help
Windows
https://release.ariga.io/atlas/atlas-windows-amd64-latest.exe
2. मौजूदा एंटिटी परिभाषाओं पर आधारित माइग्रेशन फ़ाइलें उत्पन्न करना
atlas migrate diff migration_name \
--dir "file://ent/migrate/migrations" \
--to "ent://ent/schema" \
--dev-url "docker://mysql/8/ent"
3. ऐप्लिकेशन माइग्रेशन फ़ाइलें
जब माइग्रेशन फ़ाइलें उत्पन्न हो जाती हैं, तो उन्हें डेवलपमेंट, टेस्टिंग या प्रोडक्शन वातावरणों पर लागू किया जा सकता है। सामान्यत: आप पहले इन माइग्रेशन फ़ाइलों को डेवलपमेंट या टेस्टिंग डेटाबेस पर लागू करेंगे ताकि सुनिश्चित कर सकें कि वे उम्मीद के अनुसार काम करती हैं। फिर, उनी माइग्रेशन कदमों को प्रोडक्शन वातावरण में भी निष्पादित किया जाएगा।
atlas migrate apply \
--dir "file://ent/migrate/migrations" \
--url "mysql://root:pass@localhost:3306/example"
atlas migrate apply
कमांड का उपयोग करें, माइग्रेशन फ़ाइल निर्देशिका (--dir
) और लक्ष्य डेटाबेस का URL (--url
) निर्दिष्ट करके माइग्रेशन फ़ाइलों को लागू करने के लिए।