प्रिज्मा एक आधुनिक ओआरएम (ऑब्जेक्ट-रिलेशनल मैपिंग) है जो नोड.जेएस और टाइपस्क्रिप्ट अनुप्रयोगों में डेटाबेस के साथ बातचीत की सुविधा प्रदान करता है। प्रिज्मा की सबसे महत्वपूर्ण विशेषताओं में से एक माइग्रेशन सिस्टम है, जो आपको डेटाबेस स्कीमा को एप्लिकेशन के डेटा मॉडल के साथ सिंक्रनाइज़ रखने की अनुमति देता है। इस पोस्ट में, हम माइग्रेशन का उपयोग करके प्रिज्मा वर्कफ़्लो का पता लगाएंगे।
माइग्रेशन डेटाबेस स्कीमा में व्यवस्थित और संस्करणबद्ध तरीके से परिवर्तनों को नियंत्रित करने और लागू करने की एक विधि है। वे आपको वृद्धिशील और प्रतिवर्ती तरीके से डेटाबेस में संरचनात्मक परिवर्तनों को परिभाषित करने की अनुमति देते हैं, जैसे तालिकाएँ बनाना या बदलना।
प्रिज्मा में माइग्रेशन के साथ विशिष्ट वर्कफ़्लो में निम्नलिखित चरण शामिल हैं:
सबसे पहले, हमें प्रोजेक्ट में प्रिज्मा स्थापित करना होगा और इसे आरंभ करना होगा:
npm install @prisma/client npx prisma init
यह कमांड एक प्रिज्म निर्देशिका बनाता है जिसमें एक स्कीमा.प्रिज्मा फ़ाइल होती है, जहां हम अपने डेटा मॉडल को परिभाषित करते हैं।
schema.prisma फ़ाइल में, हम उन मॉडलों को परिभाषित करते हैं जो डेटाबेस तालिकाओं का प्रतिनिधित्व करते हैं। उदाहरण के लिए, आइए एक मॉडल उपयोगकर्ता को परिभाषित करें:
model User { id Int @id @default(autoincrement()) email String @unique name String? }
यहां, हम आईडी, ईमेल और नाम कॉलम के साथ एक उपयोगकर्ता तालिका परिभाषित कर रहे हैं।
स्कीमा को परिभाषित करने या बदलने के बाद, हम डेटाबेस में इन परिवर्तनों को प्रतिबिंबित करने के लिए एक माइग्रेशन बनाते हैं:
npx prisma migrate dev --name init
माइग्रेट देव कमांड एक नया माइग्रेशन बनाता है और डेटाबेस में परिवर्तन लागू करता है। --नाम पैरामीटर आपको माइग्रेशन को एक वर्णनात्मक नाम देने की अनुमति देता है, जैसे उपरोक्त उदाहरण में init।
जब हम माइग्रेट देव कमांड का उपयोग करते हैं तो माइग्रेशन स्वचालित रूप से डेटाबेस पर लागू हो जाता है। यह सुनिश्चित करता है कि डेटाबेस हमेशा schema.prisma में परिभाषित डेटा मॉडल के साथ समन्वयित रहता है।
यदि आप उत्पादन परिवेश में माइग्रेशन लागू करना चाहते हैं, तो कमांड का उपयोग करें:
npx prisma migrate deploy
यह आदेश सभी लंबित माइग्रेशन को उत्पादन डेटाबेस पर लागू करता है।
प्रिज्मा डेटाबेस पर लागू सभी माइग्रेशन का इतिहास रखता है। यह परिवर्तनों को ट्रैक करने और यदि आवश्यक हो तो माइग्रेशन को पूर्ववत करने के लिए उपयोगी है। माइग्रेशन इतिहास देखने के लिए, आप इसका उपयोग कर सकते हैं:
npx prisma migrate status
यह कमांड माइग्रेशन की वर्तमान स्थिति दिखाता है, जिसमें यह भी शामिल है कि कौन से माइग्रेशन लागू किए गए हैं और कौन से लंबित हैं।
आइए उपयोगकर्ता मॉडल में एक नया फ़ील्ड जोड़ने और इस परिवर्तन के लिए माइग्रेशन बनाने का एक व्यावहारिक उदाहरण देखें।
स्कीमा.प्रिज्मा में उपयोगकर्ता मॉडल में फ़ील्ड जोड़ें:
model User { id Int @id @default(autoincrement()) email String @unique name String? birthdate DateTime? }
एक नया माइग्रेशन बनाएं:
npx prisma migrate dev --name add-birthdate-to-user
माइग्रेशन लागू करें:
माइग्रेट देव कमांड पहले से ही डेटाबेस पर माइग्रेशन लागू करता है। अब डेटाबेस में उपयोगकर्ता तालिका में नई जन्मतिथि फ़ील्ड होगी।
माइग्रेशन स्थिति जांचें:
npx prisma migrate status
यह कमांड दिखाएगा कि ऐड-बर्थडेट-टू-यूज़र माइग्रेशन सफलतापूर्वक लागू किया गया था।
माइग्रेशन का उपयोग करके प्रिज्मा का वर्कफ़्लो डेटाबेस स्कीमा में परिवर्तनों को प्रबंधित करने का एक कुशल और सुरक्षित तरीका है। चरणों के स्पष्ट अनुक्रम के माध्यम से - स्कीमा को परिभाषित करना, माइग्रेशन बनाना, परिवर्तन लागू करना और माइग्रेशन इतिहास प्रबंधित करना - डेटाबेस को एप्लिकेशन के डेटा मॉडल के साथ सिंक्रनाइज़ रखना संभव है, जिससे सॉफ़्टवेयर के विकास और रखरखाव की सुविधा मिलती है।
प्रिज्मा के साथ, आप न केवल डेटाबेस प्रबंधन को सरल बनाते हैं, बल्कि आपको यह सुनिश्चित करने के लिए एक शक्तिशाली उपकरण भी मिलता है कि सभी परिवर्तन पता लगाने योग्य और प्रतिवर्ती हैं, जो अधिक मजबूत और त्वरित विकास प्रक्रिया में योगदान देता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3