Database
 sql >> डेटाबेस >  >> RDS >> Database

स्रोत नियंत्रण डेटाबेस के लिए कार्य फ़ोल्डर का उपयोग करना

यह आलेख SQL सर्वर डेटाबेस को प्रबंधित करने के लिए स्रोत नियंत्रण के कार्यशील फ़ोल्डर विकल्प का उपयोग करने का एक पूर्वाभ्यास है।

इस लेख में, मैं स्रोत नियंत्रण के साथ उपयोग करने के लिए अन्य उपलब्ध विकल्पों की तुलना में एक कार्यशील फ़ोल्डर का उपयोग करने के कुछ लाभों और सीमाओं को भी रेखांकित कर रहा हूं।

आइए इस लेख के तकनीकी विवरण में जाने से पहले कुछ प्रमुख अवधारणाओं पर चर्चा करें।

मुख्य अवधारणाएं

स्रोत नियंत्रण क्या है

स्रोत नियंत्रण एक प्रणाली या (सॉफ्टवेयर का सबसे अच्छा हिस्सा) अभ्यास है जो डेवलपर्स द्वारा किए गए कोड में सभी परिवर्तनों का ट्रैक रखता है।

स्रोत नियंत्रण की आवश्यकता क्यों है

डेवलपर्स द्वारा लिखे गए एप्लिकेशन कोड को समय-समय पर इस तरह से सहेजा जाना चाहिए कि किसी भी डेवलपर द्वारा किए गए सभी परिवर्तनों को न केवल वापस खोजा जा सके बल्कि आवश्यकता पड़ने पर वापस भी किया जा सके।

इस कारण से, एप्लिकेशन कोड को स्रोत नियंत्रण में रखा जाता है ताकि यह सुनिश्चित किया जा सके कि टिप्पणियों के साथ सभी परिवर्तनों का इतिहास अच्छी तरह से रखा गया है, साथ ही स्रोत नियंत्रण का उपयोग करने के कई अन्य लाभ हैं, जो इस लेख के दायरे से बाहर हैं।

स्रोत नियंत्रण बनाम संस्करण नियंत्रण

सोर्स कंट्रोल और वर्जन कंट्रोल में कोई अंतर नहीं है और ज्यादातर इन दो शब्दों का इस्तेमाल एक-दूसरे के लिए स्वतंत्र रूप से किया जाता है।

क्या हम डेटाबेस को स्रोत नियंत्रण में रखते हैं

एप्लिकेशन कोड की तरह, डेटाबेस ऑब्जेक्ट्स जैसे टेबल, व्यू, स्टोर्ड प्रोसीजर आदि को भी वर्जन नियंत्रित करने की आवश्यकता होती है। हालाँकि, डेटाबेस ऑब्जेक्ट को स्रोत नियंत्रण में रखने का तरीका थोड़ा और कुछ मामलों में एप्लिकेशन कोड को स्रोत नियंत्रण में रखने से पूरी तरह से अलग है।

संस्करण नियंत्रण डेटाबेस उदाहरण

मान लीजिए कि आप व्यावसायिक आवश्यकता के अनुसार "कार" नामक एक नमूना डेटाबेस बनाते हैं।

फिर आप CarId . के साथ "कार" नामक एक तालिका बनाते हैं और कारनाम एक और आवश्यकता को पूरा करने के लिए कॉलम।

आपकी अनुपस्थिति में, किसी अन्य डेवलपर को CarType . जोड़ने का कार्य सौंपा गया है "कार" तालिका में कॉलम।

वह CarName . को हटाने का निर्णय लेता है कॉलम यह सोचकर कि इसकी आवश्यकता नहीं है और इसे CarType . से बदलें कॉलम।

आप लंबे समय के बाद वापस आए हैं और यह देखकर हैरान हैं कि आपका CarName कॉलम न केवल गायब है बल्कि इसे CarType . से भी बदल दिया गया है कॉलम।

अब, आपको मूल डेटा प्रकार और लंबाई याद नहीं है जिसे आपने CarName . के लिए चुना था जब तक आप व्यावसायिक आवश्यकताओं के पूरे सेट से नहीं गुजरते।

एक मिनट रुकिए! इस समस्या को आसानी से हल किया जा सकता है यदि आपने पहली बार में अपने डेटाबेस के लिए स्रोत नियंत्रण का उपयोग करने पर विचार किया है। फिर आप अपने द्वारा किए गए पहले बदलाव को आसानी से देख सकते हैं, जिसमें कॉलम की परिभाषा और फिर दूसरे डेवलपर द्वारा किया गया दूसरा बदलाव शामिल है।

तो, आप और अन्य डेवलपर एक साथ बैठते हैं और स्रोत नियंत्रण का उपयोग करके डेटाबेस (ऑब्जेक्ट) में किए गए ऐतिहासिक परिवर्तनों के माध्यम से चलते हैं जो डेटाबेस पर किसी भी डेवलपर द्वारा किए गए प्रत्येक परिवर्तन का ट्रैक रखता है।

इसे इस प्रकार दर्शाया गया है:

स्रोत नियंत्रण का सबसे महत्वपूर्ण उपयोग

स्रोत नियंत्रण का उपयोग करने के मुख्य कारणों में से एक कोड की निम्नलिखित शाखाएं बनाकर एक ही समय में कोड के कई संस्करणों को बनाए रखने में सक्षम होना है:

  1. देव (विकास शाखा)
  2. परीक्षा (परीक्षण शाखा)
  3. क्यूए (क्यूए शाखा)
  4. उत्पाद (उत्पादन शाखा)

स्रोत नियंत्रण से देव, परीक्षण, गुणवत्ता आश्वासन और उत्पादन शाखाएँ बनाने के तकनीकी विवरण इस लेख के दायरे से बाहर हैं।

आवश्यकताएं

यह लेख उन पाठकों के लिए सबसे उपयुक्त है जो निम्नलिखित आवश्यकताओं को पूरा करते हैं:

टी-एसक्यूएल का बुनियादी ज्ञान

डेटाबेस ऑब्जेक्ट्स जैसे टेबल, व्यू और स्टोर की गई प्रक्रिया को बनाने, क्वेरी करने और संशोधित करने के लिए आपके पास कुछ बुनियादी टी-एसक्यूएल ज्ञान होना चाहिए।

डेटाबेस विकास उपकरण

डेटाबेस और उनकी वस्तुओं को बनाने और प्रबंधित करने के लिए आपकी मशीन पर SQL सर्वर के लिए SSMS (SQL सर्वर प्रबंधन स्टूडियो) या dbForge स्टूडियो स्थापित होना चाहिए।

कार्यशील फ़ोल्डर डेटा स्रोत उपलब्धता

यद्यपि कोई भी स्रोत नियंत्रण जो कार्यशील फ़ोल्डर विकल्प प्रदान करता है, ठीक है, इस आलेख में पूर्वाभ्यास के सभी चरणों का पालन करने के लिए dbForge स्रोत नियंत्रण का उपयोग करने की अनुशंसा की जाती है।

कार्यशील फ़ोल्डर स्रोत नियंत्रण

संस्करण नियंत्रण डेटाबेस ऑब्जेक्ट्स के लिए सीमित कार्यक्षमता वाले वर्किंग फोल्डर का उपयोग अन्य स्रोत नियंत्रण प्रणालियों जैसे TFS, Git आदि की तरह ही किया जा सकता है।

एक कार्यशील फ़ोल्डर में केवल SQL स्क्रिप्ट फ़ाइलें होती हैं जिनका उपयोग डेटाबेस ऑब्जेक्ट बनाने और प्रबंधित करने के लिए किया जाता है।

कार्यशील फ़ोल्डर का उपयोग कब करें

मान लीजिए कि आप एक डेटाबेस और उससे संबंधित वस्तुओं को खरोंच से बनाना चाहते हैं, लेकिन अभी तक सुनिश्चित नहीं हैं कि आपकी टीम किस स्रोत नियंत्रण का उपयोग करने जा रही है। फिर कार्यशील फ़ोल्डर स्रोत नियंत्रण विकल्प के साथ शुरुआत करना बेहतर है।

एक अन्य कारण यह हो सकता है कि जब आप केवल डेटाबेस की वर्तमान स्थिति को संग्रहीत करना चाहते हैं और ऐतिहासिक परिवर्तनों का ट्रैक रखने में रुचि नहीं रखते हैं तो स्रोत नियंत्रण के रूप में उपयोग किए जाने के लिए कार्यशील फ़ोल्डर एक अच्छा उम्मीदवार है।

कार्यशील फ़ोल्डर सीमा

वर्किंग फोल्डर टू वर्जन कंट्रोल डेटाबेस ऑब्जेक्ट्स डेटाबेस और उसके ऑब्जेक्ट्स के नवीनतम संस्करण को रखने के मामले में सीमित है और परिवर्तनों का पता लगाने या उन्हें वापस करने का कोई तरीका नहीं है।

इसलिए, आपको वर्किंग फोल्डर को अपने स्रोत नियंत्रण विकल्प के रूप में उपयोग करते समय सावधान रहना होगा क्योंकि यह आपको समय-समय पर डेटाबेस और उसके ऑब्जेक्ट में किए गए सभी परिवर्तन नहीं दिखा सकता है।

वॉकथ्रू:डेटाबेस को वर्किंग फोल्डर से लिंक करना

आइए हम स्रोत नियंत्रण का उपयोग करके अपने डेटाबेस को एक कार्यशील फ़ोल्डर से लिंक करने के चरणों के माध्यम से चलते हैं।

पुस्तक और पुस्तक प्रकार जोड़ने की आवश्यकताएं

आपको "SQLBookShopV2" नामक एक परीक्षण डेटाबेस बनाने के लिए आंतरिक आवश्यकताएँ प्राप्त हुई हैं जिसमें निम्नलिखित दो तालिकाएँ हैं:

  1. पुस्तक
  2. पुस्तक प्रकार

इस बिंदु पर डेटाबेस को स्रोत नियंत्रण की आवश्यकता नहीं है और किए गए सभी परिवर्तनों का ट्रैक रखना महत्वपूर्ण नहीं है।

आवश्यकताएं जांचें

कार्य फ़ोल्डर का उपयोग करने से पहले आवश्यकताओं को दोबारा जांचना अक्सर एक अच्छा अभ्यास होता है। यदि आपको निम्न आवश्यकताओं के साथ एक डेटाबेस बनाने के लिए कहा जाए तो एक कार्यशील फ़ोल्डर सबसे उपयुक्त है:

  1. डेटाबेस या डेटाबेस प्रोटोटाइप का परीक्षण आवश्यक है
  2. डेटाबेस परिवर्तन इतिहास अनिवार्य नहीं है
  3. निर्णय अभी तक तय नहीं किया गया है कि किस स्रोत नियंत्रण का उपयोग किया जाएगा

कार्यशील फ़ोल्डर सेटअप करें

पहला कदम एक फ़ोल्डर को अलग रखना है जहां आपके डेटाबेस कोड को कार्यशील फ़ोल्डर में जांचना शुरू करने के बाद आपकी परीक्षण डेटाबेस स्क्रिप्ट रहेंगी।

सी ड्राइव के अंतर्गत "SQLBookShopV2 Scripts" नामक एक नया फ़ोल्डर बनाएं।

SQLBookShopV2 नमूना डेटाबेस सेटअप करें

SQL सर्वर के लिए dbForge Studio खोलें और डेटाबेस मेनू से "नया डेटाबेस" पर क्लिक करें:

डेटाबेस के नाम में "SQLBookShopV2" टाइप करें और विंडो के नीचे "परिवर्तन लागू करें" बटन पर क्लिक करें:

डेटाबेस को वर्किंग फोल्डर से लिंक करें

इसे बनाने के तुरंत बाद डेटाबेस को स्रोत नियंत्रण से जोड़ना बेहतर होता है।

डेटाबेस (SQLBookShopV2) पर राइट-क्लिक करें और सोर्स कंट्रोल चुनें डेटाबेस को सोर्स कंट्रोल मेनू आइटम से लिंक करें:

डेटाबेस से लिंक करने के लिए पहले बनाए गए कार्यशील फ़ोल्डर का पता लगाएँ:

आप अपना वांछित डेटाबेस विकास मॉडल चुन सकते हैं। हम साझा डेटाबेस विकास मॉडल चुन रहे हैं:

डेटाबेस के बगल में छोटे स्रोत नियंत्रण आइकन की जाँच करें जो पुष्टि करता है कि डेटाबेस को सफलतापूर्वक कार्यशील फ़ोल्डर स्रोत नियंत्रण से जोड़ा गया है:

पुस्तक तालिका बनाएं

तालिकाओं पर राइट-क्लिक करें और फिर नई तालिका . क्लिक करें और निम्नलिखित कोड का उपयोग करके पुस्तक तालिका बनाएं और परिवर्तन लागू करें:

CREATE TABLE SQLBookShopV2.dbo.Book (
  BookId INT IDENTITY
 ,BookTitle VARCHAR(50) NOT NULL
 ,Notes VARCHAR(200)
 ,CONSTRAINT PK_Book_BookId PRIMARY KEY CLUSTERED (BookId)
)
GO

डेटाबेस कोड परिवर्तन प्रतिबद्ध करें

चूंकि हमने डेटाबेस में एक नई तालिका बनाई है, इसलिए इन स्थानीय परिवर्तनों को सहेजने के लिए स्रोत नियंत्रण द्वारा उठाया जाना चाहिए।

ओपन सोर्स कंट्रोल मैनेजर (जो सहेजे जाने वाले नवीनतम परिवर्तनों को दिखाता है) डेटाबेस पर राइट-क्लिक करके और फिर स्रोत पर क्लिक करें à स्रोत नियंत्रण प्रबंधक दिखाएं

प्रतिबद्ध क्लिक करें वर्किंग फोल्डर सोर्स कंट्रोल में जाँच करने के लिए:

कार्यशील फ़ोल्डर जांच

अपने वर्किंग फोल्डर में जाएं और नवीनतम कमिट के परिणामस्वरूप वहां सहेजी गई टेबल ऑब्जेक्ट देखें:

बुकटाइप टेबल बनाएं

निम्नलिखित कोड का उपयोग करके एक और टेबल बुक टाइप बनाएं:

CREATE TABLE SQLBookShopV2.dbo.BooKType (
  BookTypeId INT IDENTITY
 ,Name VARCHAR(50) NULL
 ,Detail VARCHAR(200) NULL
 ,CONSTRAINT PK_BooKType_BookTypeId PRIMARY KEY CLUSTERED (BookTypeId)
)
GO

तालिका को स्रोत नियंत्रण में जोड़ें

पहले बताई गई विधि का उपयोग करके नई बनाई गई तालिका को स्रोत नियंत्रण में जोड़ें और फिर यह देखने के लिए कार्यशील फ़ोल्डर की जाँच करें कि दोनों तालिकाएँ हैं:

बधाई हो! आपने अपने डेटाबेस को वर्किंग फोल्डर सोर्स कंट्रोल से सफलतापूर्वक लिंक कर लिया है।

कार्यशील फ़ोल्डर सावधानियां

कृपया याद रखें कि एक कार्यशील फ़ोल्डर अपने शुद्ध रूप में एक स्रोत नियंत्रण के रूप में एक सामान्य विंडोज फ़ोल्डर की तरह होता है और यदि इसे बाहरी रूप से संशोधित किया जाता है, तो यह अपनी नवीनतम स्थिति को याद नहीं रख सकता है।

उदाहरण के लिए, यदि हम वर्किंग फोल्डर से Book.sql कोड को हटाते हैं और फिर सोर्स कंट्रोल मैनेजर का उपयोग करके किसी भी बदलाव की जांच करते हैं, तो हमें बुक टेबल कोड को फिर से वर्किंग फोल्डर में जोड़ना होगा।

वर्किंग फोल्डर को सुरक्षित करने की जिम्मेदारी सोर्स कोड (अपने मूल रूप में) के बजाय डेवलपर्स के कंधों पर होती है, जब तक कि आप उस वर्कअराउंड का सख्ती से पालन नहीं करते हैं जो सफल साबित हुआ है।

करने के लिए चीज़ें

अब आप वर्किंग फोल्डर स्रोत नियंत्रण विकल्प का उपयोग करके अपने डेटाबेस ऑब्जेक्ट को आसानी से रख सकते हैं:

  1. कृपया पुस्तक . को लिंक करके एक अन्य डेटाबेस बनाने का प्रयास करें पुस्तक प्रकार . के साथ तालिका तालिका इस तरह से कि BookTypeId पुस्तक प्रकार . की प्राथमिक कुंजी तालिका को BookTypeId . के रूप में पास किया जाता है पुस्तक . में विदेशी कुंजी कॉलम कार्यशील फ़ोल्डर स्रोत नियंत्रण का उपयोग करने के बाद तालिका।
  2. कृपया AddBook नामक एक संग्रहीत कार्यविधि बनाने का प्रयास करें पुस्तक . में एक नई पुस्तक जोड़ने के लिए अपने डेटाबेस को कार्यशील फ़ोल्डर स्रोत नियंत्रण से जोड़ने के बाद तालिका।
  3. कृपया एक डेटाबेस दृश्य बनाने का प्रयास करें पुस्तकें सभी पुस्तकों की सूची उनके प्रकार के साथ देखने के लिए और वर्किंग फोल्डर स्रोत नियंत्रण में सभी परिवर्तनों की जांच करने के लिए।

आगे पढ़ना:

वर्किंग फोल्डर सोर्स कंट्रोल का उपयोग करके डेटाबेस परिवर्तन को ट्रैक करना

उपयोगी टूल:

dbForge स्रोत नियंत्रण - स्रोत नियंत्रण में SQL सर्वर डेटाबेस परिवर्तनों के प्रबंधन के लिए शक्तिशाली SSMS ऐड-इन।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल में कॉलम के मूल्यों का योग कैसे करें?

  2. आवेदन में जहां भावों के दोहराव को खत्म करना

  3. Salesforce और OneLogin सिंगल साइन ऑन (SSO) के साथ ODBC का उपयोग करना

  4. SQL में एक निरपेक्ष मान की गणना कैसे करें

  5. IBM SPSS में ODBC डेटा का विश्लेषण