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

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

यह आलेख एक कार्यशील फ़ोल्डर का उपयोग करके डेटाबेस को नियंत्रित करने के लिए एक नई विधि के बारे में बात करता है ताकि डेटाबेस में किए गए ऐतिहासिक परिवर्तनों का पता लगाया जा सके।

अवलोकन

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

पृष्ठभूमि

वर्किंग फोल्डर, जब एक स्रोत नियंत्रण के रूप में उपयोग किया जाता है, तो इसकी एक सीमा होती है कि यह डेटाबेस परिवर्तनों के इतिहास को नहीं रख सकता है। लेकिन इस लेख में, हम एक कार्यशील फ़ोल्डर के साथ द्वितीयक स्रोत नियंत्रण (पर्दे के पीछे) का उपयोग करने की विधि पर ध्यान केंद्रित करने जा रहे हैं जो सीमा को पार कर सकता है।

पूर्व-आवश्यकताएं

यह लेख मानता है कि पाठक विजुअल स्टूडियो टीम सर्विसेज (वीएसटीएस) की समझ के साथ-साथ वर्किंग फोल्डर और गिट का उपयोग करके डेटाबेस संस्करण नियंत्रण की मूल बातें से परिचित हैं, जिसे अब एज़्योर देवओप्स कहा जाता है।

इस आलेख में उल्लिखित सभी चरणों के माध्यम से चलने के लिए टूल के निम्नलिखित सेट का उपयोग करने की अनुशंसा की जाती है:

  1. SQL सर्वर के लिए dbForge
  2. dbफोर्ज सोर्स कंट्रोल
  3. Windows के लिए Git (या कोई Git क्लाइंट)
  4. Azure DevOps (पूर्व में VSTS)

यह लेख यह भी मानता है कि आपने Azure DevOps के साथ साइन अप किया है और पहले से ही एक खाता प्राप्त कर लिया है, या यदि आप इस लेख के सभी चरणों का पालन करना चाहते हैं, तो आप साइन अप करके एक नया खाता बना सकते हैं।

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

संदर्भ

स्रोत नियंत्रण डेटाबेस में कार्यशील फ़ोल्डर का उपयोग करने की बुनियादी समझ विकसित करने के लिए, कृपया नीचे दिए गए लिंक पर क्लिक करके मेरा पिछला लेख देखें:

सरल चरणों में वर्किंग फोल्डर टू सोर्स कंट्रोल डेटाबेस का उपयोग करना

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

हमें पहले डेटाबेस को नियंत्रित करने के लिए वर्किंग फोल्डर के उपयोग की सीमा को समझना चाहिए। यदि आपने मेरा पिछला लेख पढ़ लिया है तो आप पहले से ही सीमा जानते हैं।

कार्यशील फ़ोल्डर परिदृश्य

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

  1. Dev1 कलाई घड़ियों के बारे में एक नया डेटाबेस बनाता है और इसे घड़ियां . कहता है आवश्यकता के अनुसार।
  2. Dev1 आगे एक नई तालिका बनाता है और उसे देखें . कहता है वॉचआईड . के साथ और वॉचनाम आवश्यकता के अनुसार कॉलम।
  3. Dev1 को किसी विशेष स्रोत नियंत्रण का उपयोग करने के लिए नहीं कहा गया है और प्रोजेक्ट स्वयं विकास परीक्षण चरण में है, इसलिए वह वर्किंग फोल्डर स्रोत नियंत्रण का उपयोग करने का निर्णय लेता है।
  4. Dev2 को एक नई तालिका बनाने के लिए कहा गया है DigitalWatch साथ DigitalWatchId कॉलम ताकि वह देखें . को हटा दें तालिका यह सोचकर कि DigitalWatch . के साथ तालिका देखें तालिका की अब आवश्यकता नहीं है।
  5. Dev2 द्वारा किए गए परिवर्तनों को पूर्ववत करने और देखें बनाने का कोई तरीका नहीं है तालिका एक बार फिर से कार्यशील फ़ोल्डर स्रोत नियंत्रण का उपयोग कर रही है क्योंकि कार्यशील फ़ोल्डर को अभी-अभी डेटाबेस कोड का नवीनतम संस्करण मिला है।

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

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

डेटाबेस परिवर्तनों का ट्रैक रखने के लिए वर्किंग फोल्डर को लागू करने का एक तरीका है जो हमें खोए हुए डेटाबेस ऑब्जेक्ट्स को पुनर्स्थापित करने में मदद कर सकता है, हालांकि डिफ़ॉल्ट रूप से वर्किंग फोल्डर का उपयोग डेटाबेस परिवर्तनों के इतिहास को बनाए नहीं रखता है।

द्वितीयक स्रोत नियंत्रण (Git) का उपयोग

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

हम इस लेख में Git को सेकेंडरी सोर्स कंट्रोल के साथ वर्किंग फोल्डर के रूप में उपयोग करने जा रहे हैं।

Git एक वितरित संस्करण नियंत्रण प्रणाली है और आज भी सबसे अधिक उपयोग किए जाने वाले स्रोत नियंत्रणों में से एक है।

कार्यशील फ़ोल्डर के साथ Git क्यों?

कोई तर्क देगा कि हमें वर्किंग फोल्डर के साथ-साथ Git का उपयोग करने की आवश्यकता क्यों है जब हम सीधे अपने डेटाबेस को नियंत्रित करने के लिए SQL सर्वर के लिए dbForge Studio के साथ Git का उपयोग कर सकते हैं।

इसका उत्तर केवल अस्थायी समाधान के रूप में उपयोग करने के बजाय वर्किंग फोल्डर के साथ आगे बढ़ने की क्षमता की खोज के साथ-साथ वर्किंग फोल्डर सोर्स कंट्रोल विकल्प की लचीली प्रकृति को समझना है।

Windows के लिए कोई भी Git स्रोत नियंत्रण क्लाइंट या Git डाउनलोड करें

इससे पहले कि हम आगे बढ़ें, कृपया अपनी पसंद का कोई भी गिट सोर्स कंट्रोल क्लाइंट इंस्टॉल करें जो समय के साथ डेटाबेस परिवर्तनों को बचाने में हमारी मदद करेगा।

यह आलेख पूर्वाभ्यास Windows क्लाइंट के लिए Git का उपयोग कर रहा है।

अपनी पसंद के विकल्पों के साथ विंडोज़ के लिए गिट स्थापित करें, हमने विंडोज़ के लिए गिट स्थापित करने के लिए डिफ़ॉल्ट विकल्पों का उपयोग किया है।

Git का उपयोग करके Azure DevOps प्रोजेक्ट बनाएं

अपने Azure DevOps खाते में साइन इन करें और एक नया प्रोजेक्ट बनाएं SQLBookShopV3-Using-Working-Folder-with-Git और Git . चुनें एक निजी भंडार बनाने के लिए स्रोत नियंत्रण विकल्प निम्नानुसार है।

रेपो पर जाएं बाएं नेविगेशन बार पर और लिंक के बगल में स्थित क्लिपबोर्ड आइकन पर क्लिक करके रेपो (गिट रिपॉजिटरी) लिंक को कॉपी करें।

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

Git लोकल रेपो के तहत वर्किंग फोल्डर बनाएं

यदि आपके पास पहले से ही Git लोकल रेपो फोल्डर है, तो अपना वर्किंग फोल्डर बनाएं SQLBookShopV3-Working-Folder-with-Git वहाँ:

C:\Users\\Source\Repos\SQLBookShopV3-Working-Folder-with-Git

वैकल्पिक रूप से, रेपो . बनाएं अपनी पसंद के किसी भी स्थान को फोल्डर करें और फिर सबफ़ोल्डर SQLBookShopV3-Working-Folder-with-Git. बनाएं।

नया Git लोकल रिपोजिटरी बनाएं

अब हम एक स्थानीय Git रिपॉजिटरी बनाने जा रहे हैं ताकि वर्किंग फोल्डर उसमें फिट हो सके।

Git GUI खोलें जो Windows के लिए Git . के बाद मौजूद होना चाहिए स्थापना।

नया भंडार बनाएं . चुनकर स्थानीय भंडार बनाएं विकल्प।

Git लोकल रेपो (रिपोजिटरी) बनाएं।

स्थानीय गिट भंडार सफलतापूर्वक बनाया गया है।

रिमोट गिट रेपो को लोकल रेपो से लिंक करें

Git लोकल रिपोजिटरी बनाना पर्याप्त नहीं है, हमने इसे Azure DevOps के माध्यम से बनाए गए अपने Git रिमोट रिपोजिटरी से जोड़ा है।

रिमोट . का चयन करके रिमोट गिट रेपो को गिट लोकल रेपो से लिंक करें मुख्य मेनू से विकल्प चुनें और फिर नया रिमोट जोड़ें . क्लिक करें और फिर अपना Azure DevOps प्रोजेक्ट स्थान टाइप करें।

SQLBookShopV3 डेटाबेस बनाएं

SQL सर्वर के लिए dbForge Studio खोलें और एक नया डेटाबेस बनाएँ SQLBookShopV3

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

पुस्तक बनाएं BookId, शीर्षक और लेखक कॉलम के साथ तालिका निम्नानुसार है।

CREATE TABLE SQLBookShopV3.dbo.Book (
  BookId INT IDENTITY
 ,CONSTRAINT PK_Book_BookId PRIMARY KEY CLUSTERED (BookId)
 ,Title VARCHAR(100)
 ,Author VARCHAR(50)
)
GO

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

अगले चरण में, हम डेटाबेस को वर्किंग फोल्डर सोर्स कंट्रोल से लिंक करने जा रहे हैं।

डेटाबेस (SQLBookShopV3) पर राइट-क्लिक करें और स्रोत नियंत्रण चुनें , और फिर डेटाबेस को स्रोत नियंत्रण से लिंक करें

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

कार्यशील फ़ोल्डर में परिवर्तन करने के लिए प्रतिबद्ध करें

स्रोत नियंत्रण प्रबंधक पर जाएं और जांचें (प्रतिबद्ध करें ) नव निर्मित पुस्तक वर्किंग फोल्डर सोर्स कंट्रोल में टेबल।

पुस्तक . देखने के लिए कार्यशील फ़ोल्डर की जांच करें वहाँ टेबल।

गिट सोर्स कंट्रोल (बुक टेबल) में बदलाव पुश करें

ओपन गिट जीयूआई फिर से और फिर से स्कैन करें . क्लिक करें बटन जो अब टेबल ऑब्जेक्ट दिखाना चाहिए, निम्नलिखित प्रारंभिक कमिट्स जोड़ें:

आरंभिक प्रतिबद्धता (पहली बार बनाई गई पुस्तक तालिका)

फिर निम्न चरणों का पालन करें:

  1. चरण परिवर्तन
  2. परिवर्तन करें
  3. पुश (परिवर्तन)

वैकल्पिक रूप से, आप कमांड लाइन से Git को चलाने के लिए Git Bash का उपयोग कर सकते हैं।

Git स्रोत नियंत्रण में किए गए परिवर्तन देखें

Azure DevOps पर नेविगेट करें वेबपेज, बशर्ते आप पहले से ही हस्ताक्षरित हों और SQLBookShopV3-Using-Working-Folder-with-Git प्रोजेक्ट सक्रिय है।

रेपो Click क्लिक करें अभी-अभी Git स्रोत नियंत्रण में किए गए परिवर्तनों को देखने के लिए बाएँ नेविगेशन बार पर।

इसके बाद, तालिका स्क्रिप्ट की जाँच करें।

स्टॉक और मूल्य कॉलम जोड़ें

अब दो और कॉलम जोड़ें स्टॉक और कीमत पुस्तक . के लिए निम्न स्क्रिप्ट का उपयोग करके तालिका।

CREATE TABLE SQLBookShopV3.dbo.Book (
  BookId INT IDENTITY
 ,Title VARCHAR(100) NULL
 ,Author VARCHAR(50) NULL
 ,Price DECIMAL(8, 2) NULL
 ,Stock SMALLINT NULL
 ,CONSTRAINT PK_Book_BookId PRIMARY KEY CLUSTERED (BookId)
) ON [PRIMARY]
GO
. पर

तालिका नीचे की तरह दिखनी चाहिए।

कार्यशील फ़ोल्डर में परिवर्तन करने के लिए प्रतिबद्ध करें

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

विंडोज एक्सप्लोरर का उपयोग करके वर्किंग फोल्डर का पता लगाएँ और कोड देखने के लिए नोटपैड में dbo.table.sql खोलें।

वर्किंग फोल्डर में तालिका की सबसे हाल की परिभाषा है और तालिका के पहले आकार के बारे में कोई जानकारी प्रदान नहीं करता है।

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

गिट सोर्स कंट्रोल (स्टॉक और मूल्य कॉलम) में परिवर्तन पुश करें

अगले चरण में, हम तालिका के नए जोड़े गए कॉलम को नीचे दिखाए गए गिट रिमोट रिपोजिटरी में पुश करने जा रहे हैं।

Git स्रोत नियंत्रण के साथ डेटाबेस परिवर्तन ट्रेस करें

अब तक, हमने निम्नलिखित क्रम में दो मुख्य डेटाबेस परिवर्तन किए हैं:

  1. पुस्तक BookId, शीर्षक और लेखक कॉलम के साथ तालिका बनाई गई थी
  2. मूल्य और स्टॉक कॉलम पुस्तक . में जोड़े गए थे टेबल

पहला परिवर्तन देखने का कोई तरीका नहीं है जब еру बुक टेबल मूल रूप से वर्किंग फोल्डर का उपयोग करके बनाई गई थी।

हालाँकि, Git का उपयोग करके डेटाबेस परिवर्तनों के सभी इतिहास को देखना संभव है, जब तक कि हमने उन परिवर्तनों को Git Remote Repository में धकेल दिया है।

Azure DevOps पर, कृपया पुश . क्लिक करें डेटाबेस के ऐतिहासिक परिवर्तन देखने के लिए बाएं नेविगेशन बार पर।

प्रतिबद्ध पर नेविगेट करें कमिट के रूप में डेटाबेस परिवर्तन के क्रम को देखने के लिए।

पहले कमिट a99df4b5 . पर क्लिक करें पुस्तक . की पहली परिभाषा देखने के लिए टेबल।

वापस जाएं और अगला कमिट क्लिक करें 6f863f0a अगला डेटाबेस परिवर्तन देखने के लिए।

बधाई हो! हमने द्वितीयक स्रोत नियंत्रण (गिट) के साथ वर्किंग फोल्डर का उपयोग करके डेटाबेस परिवर्तनों को सफलतापूर्वक ट्रैक किया है।

अब हम चाहें तो तालिका के पहले संस्करण पर वापस जा सकते हैं या अधिक डेटाबेस ऑब्जेक्ट जोड़ना जारी रख सकते हैं।

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

अब आप आराम से न केवल अपने डेटाबेस ऑब्जेक्ट को वर्किंग फोल्डर सोर्स कंट्रोल के तहत रख सकते हैं बल्कि डेटाबेस इतिहास को बनाए रखते हुए सभी डेटाबेस परिवर्तनों का ट्रैक भी रख सकते हैं।

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

उपयोगी टूल:

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. OGG-01224 पता पहले से प्रयोग में है

  2. तीर संकेतन

  3. संबंधपरक डेटाबेस

  4. प्रदर्शन आश्चर्य और अनुमान:GROUP BY बनाम DISTINCT

  5. TimescaleDB के लिए प्रदर्शन निगरानी