Back to Question Center
0

पुराने प्राथमिक कुंजी वाले नए प्राथमिक कुंजी के साथ सममूल्य यूआरएल

1 answers:

हमारे पास एक ऐसा डेटाबेस है जिसे हमने एक क्रॉलिंग के माध्यम से प्राप्त किया है, जहां हर पंक्ति में प्राथमिक कुंजी एक्स , और एक अनन्य संख्या वाई क्रॉलिंग प्रक्रिया से प्राप्त होती है (प्राथमिक कुंजी मूल स्रोत). ऐतिहासिक कारणों के लिए, हम प्रत्येक ऑब्जेक्ट के यूआरएल बनाने के लिए एक्स का प्रयोग कर रहे हैं (ई. जी - california long term care insurance. http: // उदाहरण. कॉम / ऑब्जेक्ट / एक्स ).

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

समस्या यह है कि यदि हम डेटाबेस को उत्पादन पर स्थानांतरित करते हैं, तो लिंक बन जाते हैं http: // example. कॉम / ऑब्जेक्ट / जेड , जो कि एक अलग ऑब्जेक्ट को इंगित करता है http: // उदाहरण. कॉम / ऑब्जेक्ट / एक्स (से एक्स! = Z => अलग वाई मान).

स्वाभाविक रूप से हम इसे 1 के बाद से नहीं होने देना चाहते. खोज इंजन गलत ऑब्जेक्ट और 2 को इंगित करेंगे. ऑब्जेक्ट की ओर इशारा करते हुए पुराने लिंक्स एक्स 1-> वाई 1 , ऑब्जेक्ट को प्रारंभ बिंदु Z1-> Y2! = Y1 .

यह समस्या पहले से ही सुझाव देती है कि हम चाहते हैं कि यूआरएल वाई . प्रश्न यह है कि इस प्रवास को कैसे बनाया जाए.

मुझे समस्या के दो दृष्टिकोण दिखाई देते हैं:

  1. पुराने डेटाबेस का उपयोग करके, लिंक के लिंक की एक रीडायरेक्ट बनाएं जो केवल वाई पर निर्भर करता है http: // उदाहरण. कॉम / ऑब्जेक्ट / एक्स -> http: // उदाहरण. कॉम / ऑब्जेक्ट 1 / वाई , 1 महीने का इंतजार करें, और उसके बाद डेटाबेस में यूआरएल में परिवर्तन वाई .

  2. नए डेटाबेस old_pk में एक नया कॉलम बनाएं, और पुराने डेटाबेस से नए डेटाबेस में माइग्रेशन करने के लिए, पुराने एक्स डालने के साथ पंक्ति में बराबर वाई , और उसके बाद http: // example. कॉम / ऑब्जेक्ट / एक्स -> http: // उदाहरण. com / object_ / Y (भविष्य में इन समस्याओं से बचने के लिए)

1. इसका नुकसान यह है कि पूरे उत्पादन को माइग्रेट करने के लिए लिंक का इंतजार करना पड़ता है, और पुराना यूआरएल को अनंत काल तक नहीं बनाएगा. 2 का नुकसान होता है क्योंकि डाटाबेस में शामिल होने के बाद इसमें माइग्रेट करने में समय लगेगा. 000 प्रविष्टियां, और नए डेटाबेस में विरासत डेटा शामिल होगा. मैं 2 से अधिक इच्छुक हूं. , लेकिन मैं एक दूसरी राय चाहूंगा:

  1. क्या यह तर्क समझ में आता है?
  2. क्या अन्य दृष्टिकोण हैं जो हम नहीं देख रहे हैं?
February 14, 2018