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

ASP.NET में संस्करण शाखाओं/रोलबैक के बीच डेटाबेस परिवर्तन से निपटना

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

main
  src <-- ASP.NET project source
  db <-- Database create scripts
  delta <-- Database change scripts (SQL delta files)

branch
  src
  db <-- usually has the same contents as the copy in main branch
  delta <-- only the changes necessary for this branch

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

201102231435_addcolumn.sql
201102231447_addconstraint.sql
201103010845_anotherchange.sql

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

अंत में, इन अवधारणाओं को सरल बनाने की कोशिश करने के लिए, मैं प्रक्रिया को प्रबंधित करने में मदद करने के लिए एक उपकरण की सिफारिश करूंगा। मेरा सुझाव है कि DBDeploy पर एक नज़र डालें / DBDeploy.NET . मैं सालों से खुशी-खुशी इसका इस्तेमाल अपने सभी प्रोजेक्ट्स पर कर रहा हूं।



  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. SQL सर्वर पंक्तियाँ सम्मिलित करने के बाद पहुँच के लिए संपादन योग्य नहीं हैं

  4. SQL कथन सहायता - प्रत्येक ग्राहक के लिए नवीनतम आदेश चुनें

  5. SSMS अब Azure डेटा स्टूडियो के साथ आता है