Schema migration
સોફ્ટવેર એન્જિનિયરિંગમાં, સ્કિમા સ્થળાંતર (ડેટાબેઝ સ્થળાંતર, ડેટાબેઝ પરિવર્તન વ્યવસ્થાપન પણ) એ રીલેશ્નલ ડેટાબેઝ યોજનામાં સંસ્કરણ-નિયંત્રિત, વૃદ્ધિશીલ અને ઉલટાવી શકાય તેવા ફેરફારોના સંચાલનનો સંદર્ભ આપે છે. જ્યારે પણ તે ડેટાબેઝના સ્કીમાને કોઈ નવા અથવા જૂના સંસ્કરણમાં અપડેટ અથવા રીવર્ટ કરવાની જરૂર પડે ત્યારે ડેટા બેઝ પર સ્કીમા સ્થળાંતર કરવામાં આવે છે. સ્કિમા સ્થળાંતર સાધનનો ઉપયોગ કરીને સ્થળાંતર પ્રોગ્રામિક રીતે કરવામાં આવે છે. જ્યારે ચોક્કસ ઇચ્છિત યોજના સંસ્કરણ સાથે બોલાવવામાં આવે છે, ત્યારે સાધન તેને ઇચ્છિત સ્થિતિમાં લાવવામાં ન આવે ત્યાં સુધી યોજના ફેરફારોના યોગ્ય ક્રમની ક્રમિક એપ્લિકેશન અથવા રિવર્સલને સ્વચાલિત કરે છે. મોટાભાગના સ્કિમા સ્થળાંતર સાધનોનો ઉદ્દેશ ડેટાબેઝમાં અસ્તિત્વમાં રહેલા કોઈપણ ડેટા પર સ્કિમા ફેરફારોની અસરને ઘટાડવાનો છે. આમ છતાં, સામાન્ય રીતે માહિતીની જાળવણીની બાંયધરી આપવામાં આવતી નથી કારણ કે ડેટાબેઝ સ્તંભને કાઢી નાખવા જેવા યોજના ફેરફારો માહિતીનો નાશ કરી શકે છે (એટલે કે. તે કોષ્ટકની તમામ પંક્તિઓ માટે તે સ્તંભ હેઠળ સંગ્રહિત તમામ મૂલ્યો કાઢી નાખવામાં આવે છે). તેના બદલે, સાધનો માહિતીનો અર્થ જાળવી રાખવામાં અથવા નવી જરૂરિયાતોને પહોંચી વળવા માટે હાલની માહિતીનું પુનર્ગઠન કરવામાં મદદ કરે છે. ડેટાનો અર્થ ઘણીવાર એન્કોડ કરી શકાતો નથી, તેથી સાધનોના રૂપરેખાંકન માટે સામાન્ય રીતે જાતે હસ્તક્ષેપની જરૂર પડે છે. જોખમો અને લાભો સ્કીમા સ્થળાંતર ભૂલોને સુધારવા અને જરૂરિયાતોમાં ફેરફાર થતાં ડેટાને સ્વીકારવાની મંજૂરી આપે છે. તેઓ સોફ્ટવેર ઉત્ક્રાંતિનો એક આવશ્યક ભાગ છે, ખાસ કરીને ચપળ વાતાવરણમાં (નીચે જુઓ). ઉત્પાદન ડેટાબેઝમાં યોજના સ્થળાંતર લાગુ કરવું હંમેશા જોખમી હોય છે. વિકાસ અને પરીક્ષણ ડેટાબેઝ નાના અને સ્વચ્છ હોય છે. તેમાંની માહિતી વધુ સારી રીતે સમજી શકાય છે અથવા, જો બીજું બધું નિષ્ફળ જાય, તો માહિતીની માત્રા માનવ પ્રક્રિયા કરવા માટે પૂરતી ઓછી છે. ઉત્પાદન ડેટાબેઝ સામાન્ય રીતે વિશાળ, જૂના અને આશ્ચર્યથી ભરેલા હોય છે. આશ્ચર્ય ઘણા સ્રોતોમાંથી આવી શકે છેઃ ભ્રષ્ટ ડેટા કે જે સોફ્ટવેરના જૂના સંસ્કરણો દ્વારા લખવામાં આવ્યો હતો અને યોગ્ય રીતે સાફ કરવામાં આવ્યો ન હતો તે ડેટામાં અવલંબન દર્શાવે છે જેના વિશે હવે કોઈ જાણતું નથી લોકો નિયુક્ત સાધનોનો ઉપયોગ કર્યા વિના સીધા ડેટાબેઝને બદલી નાખે છે સ્કીમા સ્થળાંતર સાધનોમાં ભૂલો ડેટાને કેવી રીતે સ્થાનાંતરિત કરવો જોઈએ તે ધારણાઓમાં ભૂલો આ કારણોસર, સ્થળાંતર પ્રક્રિયાને ઉચ્ચ સ્તરની શિસ્ત, સંપૂર્ણ પરીક્ષણ અને સારી બેકઅપ વ્યૂહરચનાની જરૂર છે. સ્કિમા સ્થળાંતર પૂર્ણ થવામાં લાંબો સમય લાગી શકે છે અને 24/7 ચલાવતી સિસ્ટમો માટે ડાઉનટાઇમ વિના ડેટાબેઝ સ્થળાંતર કરવા માટે સક્ષમ બનવું મહત્વપૂર્ણ છે. સામાન્ય રીતે તે ફીચર ફ્લેગ અને સતત ડિલિવરીની મદદથી કરવામાં આવે છે. ચપળ સોફ્ટવેર વિકાસમાં યોજના સ્થળાંતર જ્યારે ડેટાબેઝ દ્વારા સમર્થિત સોફ્ટવેર કાર્યક્રમો વિકસાવવામાં આવે છે, ત્યારે વિકાસકર્તાઓ સામાન્ય રીતે વિકસિત ડેટાબેઝ યોજના સાથે એપ્લિકેશન સ્રોત કોડ વિકસાવે છે. જ્યારે પણ ડેટાબેઝ યોજના સાથે ક્રિયાપ્રતિક્રિયા કરવાની જરૂર હોય ત્યારે કોડમાં સામાન્ય રીતે ડેટાબેઝ યોજનામાં કયા સ્તંભો, કોષ્ટકો અને અવરોધો હાજર છે તેની સખત અપેક્ષાઓ હોય છે, તેથી માત્ર ડેટાબેઝ યોજનાનું સંસ્કરણ કે જેની સામે કોડ વિકસાવવામાં આવ્યો હતો તે સ્રોત કોડના તે સંસ્કરણ સાથે સંપૂર્ણપણે સુસંગત માનવામાં આવે છે. સોફ્ટવેર પરીક્ષણમાં, જ્યારે વિકાસકર્તાઓ એકમ પરીક્ષણ માટે સુસંગત ડેટાબેઝ સિસ્ટમની હાજરીની મજાક ઉડાવી શકે છે, ત્યારે આના કરતા વધુ પરીક્ષણનું કોઈપણ સ્તર (દા. ત. એકીકરણ પરીક્ષણ અથવા સિસ્ટમ પરીક્ષણ) વિકાસકર્તાઓ માટે સ્થાનિક અથવા દૂરસ્થ પરીક્ષણ ડેટાબેઝ સામે તેમની એપ્લિકેશનનું પરીક્ષણ કરવું સામાન્ય છે જે પરીક્ષણ હેઠળના સ્રોત કોડના સંસ્કરણ સાથે યોજનાકીય રીતે સુસંગત છે. અદ્યતન કાર્યક્રમોમાં, સ્થળાંતર પોતે સ્થળાંતર પરીક્ષણને આધિન હોઈ શકે છે. સ્કિમા સ્થળાંતર તકનીક સાથે, ડેટા મોડેલોને હવે સંપૂર્ણ રીતે તૈયાર કરવાની જરૂર નથી, અને સોફ્ટવેર વિકાસ જીવનચક્ર દરમિયાન બદલાતી પ્રોજેક્ટ જરૂરિયાતો સાથે અનુકૂળ થવા માટે વધુ સક્ષમ છે. પુનરાવર્તન નિયંત્રણ પ્રણાલીઓ સાથે સંબંધ સોફ્ટવેર વિકાસકર્તાઓની ટીમો સામાન્ય રીતે સ્રોત કોડના સંસ્કરણોમાં કરવામાં આવેલા ફેરફારોને સંચાલિત કરવા અને સહયોગ કરવા માટે સંસ્કરણ નિયંત્રણ પ્રણાલીઓનો ઉપયોગ કરે છે. વિવિધ વિકાસકર્તાઓ વિકાસ દરમિયાન ફેરફારો અને ઉમેરાઓ કરવા માટે સમાન સ્રોત કોડની અલગ, પ્રમાણમાં જૂની અથવા નવી શાખાઓ પર વિકાસ કરી શકે છે. ધારો કે વિકાસ હેઠળના સોફ્ટવેર ડેટાબેઝ સાથે ક્રિયાપ્રતિક્રિયા કરે છે, સોર્સ કોડનું દરેક સંસ્કરણ ઓછામાં ઓછું એક ડેટાબેઝ સ્કીમા સાથે સંકળાયેલ હોઈ શકે છે જેની સાથે તે સુસંગત છે. સારી સોફ્ટવેર પરીક્ષણ પ્રથા હેઠળ, તેમની યોજના સ્રોત કોડ સાથે સુસંગત છે તેની ખાતરી કરવા માટે પરીક્ષણ ડેટાબેઝ પર યોજના સ્થળાંતર કરી શકાય છે. આ પ્રક્રિયાને સુવ્યવસ્થિત કરવા માટે, સ્વયંચાલિત પરીક્ષણ તબક્કાની પૂર્વશરત તરીકે સ્વયંચાલિત સોફ્ટવેર નિર્માણના ભાગ રૂપે સ્કીમા સ્થળાંતર સાધનનો ઉપયોગ કરવામાં આવે છે. જેમ સંસ્કરણ નિયંત્રણ પ્રણાલીઓ સ્રોત કોડ માટે સંસ્કરણ સમસ્યાઓ હલ કરે છે તેવી જ રીતે યોજના સ્થળાંતર સાધનોને ડેટાબેઝ યોજનાઓ માટે સંસ્કરણ સમસ્યાઓ હલ કરવા માટે કહી શકાય. વ્યવહારમાં, ઘણા સ્કિમા સ્થળાંતર સાધનો વાસ્તવમાં સ્કિમા ફેરફારો (જેમ કે એસક્યુએલ નિવેદનો ધરાવતી ફાઇલો) ના લખાણની રજૂઆત પર આધાર રાખે છે, જેમ કે સ્કિમા ફેરફારોના સંસ્કરણ ઇતિહાસને અસરકારક રીતે વીસીએસમાં પ્રોગ્રામ સ્રોત કોડની સાથે સંગ્રહિત કરી શકાય છે. આ અભિગમ એ સુનિશ્ચિત કરે છે કે ચોક્કસ કોડ શાખા માટે સુસંગત ડેટાબેઝ યોજનાને પુનઃપ્રાપ્ત કરવા માટે જરૂરી માહિતી સ્રોત વૃક્ષમાંથી જ પુનઃપ્રાપ્ત કરી શકાય છે. આ અભિગમનો બીજો ફાયદો સહવર્તી વિરોધાભાસી યોજના ફેરફારોને સંભાળવાનો છે; વિકાસકર્તાઓ તફાવતોને સમાધાન કરવા માટે તેમના સામાન્ય લખાણ-આધારિત સંઘર્ષ નિવારણ સાધનોનો ઉપયોગ કરી શકે છે. સ્કિમા ઇવોલ્યુશન સ્કિમા માઇગ્રેશન ટૂલિંગ સાથેના સંબંધને વિકસતી સ્કીમાના ઇતિહાસને ટ્રેક કરવાની સુવિધા તરીકે જોઈ શકાય છે. ફાયદા વિકાસકર્તાઓએ હવે શરૂઆતથી નવો પરીક્ષણ ડેટાબેઝ બનાવવા માટે સમગ્ર પરીક્ષણ ડેટાબેઝને દૂર કરવાની જરૂર નથી (દા. ત. ડી. ડી. એલ. પેઢી સાધનોમાંથી યોજના નિર્માણ સ્ક્રિપ્ટ્સનો ઉપયોગ કરીને). વધુમાં, જો પરીક્ષણ ડેટાના નિર્માણમાં ઘણો સમય લાગે છે, તો વિકાસકર્તાઓ યોજનામાં નાના, બિન-વિનાશક ફેરફારો માટે પરીક્ષણ ડેટાને પુનર્જીવિત કરવાનું ટાળી શકે છે. સંદર્ભો લિંક્સ માર્ટિન ફોલ્લરઃ ઇવોલ્યુશનરી ડેટાબેઝ ડિઝાઇન સક્રિય રેકોર્ડ સ્થળાંતર ડેટાબેઝ સોફ્ટવેર જાળવણી ચપળ સોફ્ટવેર વિકાસ