उसी जगह पर डेटा वापस लाएं

इस पेज पर, बैकअप में मौजूद डेटा को किसी ऐसे डेटाबेस में वापस लाने का तरीका बताया गया है जिसका नाम बैकअप के सोर्स डेटाबेस के नाम से मेल खाता हो. इस पेज को पढ़ने से पहले, आपको डेटा का बैक अप लेने और उसे वापस लाने के बारे में जानकारी होनी चाहिए.

मौजूदा जगह पर डेटा वापस लाना

इन-प्लेस रीस्टोर की मदद से, बैकअप से डेटाबेस को उस सोर्स डेटाबेस में रीस्टोर किया जा सकता है जिससे बैकअप बनाया गया था. हालांकि, इसके लिए ज़रूरी है कि ओरिजनल डेटाबेस अब भी मौजूद हो. इन-प्लेस रीस्टोर की मदद से, ट्रैफ़िक को फिर से रूट करने या अलग नाम से डेटाबेस बनाने से बचा जा सकता है.

डेटा वापस पाने के लिए, ऐसे डेस्टिनेशन डेटाबेस का इस्तेमाल करना ज़रूरी है जो पहले से मौजूद न हो. हालांकि, सोर्स डेटाबेस को मिटाकर और फिर बैकअप से उसी नाम वाले नए डेटाबेस में डेटा को वापस लाकर, इन-प्लेस रीस्टोर को सिम्युलेट किया जा सकता है.

इन-प्लेस रीस्टोर करना

इन-प्लेस रीस्टोर करने के लिए, यह तरीका अपनाएं:

  1. उस बैकअप की पहचान करें जिसका इस्तेमाल करके डेटा वापस पाना है.
  2. मौजूदा डेटाबेस को मिटाएं.
  3. मिटाए गए डेटाबेस को वापस लाने के लिए, बैकअप और डेटाबेस आईडी का इस्तेमाल करें.
चेतावनी: अगर आपका ऐप्लिकेशन, नेटिव मोड क्लाइंट लाइब्रेरी में Cloud Firestore का इस्तेमाल करता है और आपके क्लाइंट ऑफ़लाइन कैश मेमोरी का इस्तेमाल करते हैं, तो इन-प्लेस रीस्टोर करने से, रीस्टोर किए गए डेटाबेस में आपकी राइट की गई जानकारी को खारिज करने के बजाय, उसे मिटाया जा सकता है. ऐसा तब हो सकता है, जब मिटाए गए डेटाबेस से कनेक्ट किया गया क्लाइंट ऑफ़लाइन हो जाए. साथ ही, ऑफ़लाइन होने पर, कैश मेमोरी में डेटा सेव हो जाए. ऐसा तब होता है, जब डेटा को उसी जगह पर वापस लाया जाता है जहां से उसे मिटाया गया था.

शुरू करने से पहले

हमारा सुझाव है कि इन-प्लेस रीस्टोर की प्रोसेस शुरू करने से पहले, ये चरण पूरे करें.

अपने डेटाबेस का इंडेक्स कॉन्फ़िगरेशन वापस पाएं और उसे कॉपी करें. इन-प्लेस रीस्टोर की प्रोसेस पूरी होने के बाद, इंडेक्स को फिर से बनाने के लिए इंडेक्स कॉन्फ़िगरेशन का इस्तेमाल करें. अपने डेटाबेस के इंडेक्स कॉन्फ़िगरेशन को वापस पाने के लिए, इन निर्देशों का इस्तेमाल करें:

  • कंपोज़िट इंडेक्स की सूची पाने के लिए, gcloud firestore indexes composite list का इस्तेमाल करें:

        gcloud firestore indexes composite list --database=DATABASE_ID
    

    DATABASE_ID को अपने डेटाबेस के आईडी से बदलें.

  • सिंगल-फ़ील्ड (पहले से मौजूद) इंडेक्स से छूट की सूची पाने के लिए, gcloud firestore indexes fields list का इस्तेमाल करें.

        gcloud firestore indexes fields list --database=DATABASE_ID
    

इन-प्लेस रीस्टोर करना

इन-प्लेस रीस्टोर ऑपरेशन करने के लिए, यह तरीका अपनाएं. इस प्रोसेस के लिए, डेटाबेस को मिटाने और उसे वापस लाने की प्रोसेस पूरी होने के बीच डाउनटाइम की ज़रूरत होती है.

डेटा वापस पाने की प्रोसेस शुरू होने के बाद, उसे रद्द नहीं किया जा सकता. आपको प्रोसेस पूरी होने तक इंतज़ार करना होगा. रीस्टोर करने की प्रोसेस, उस डेटाबेस आईडी का इस्तेमाल तुरंत करती है जिसका इस्तेमाल प्रोसेस में किया गया है.

  1. gcloud firestore backups list कमांड का इस्तेमाल करके, उस बैकअप की पहचान करें जिसका इस्तेमाल डेटा वापस पाने के लिए करना है. साथ ही, संसाधन का नाम नोट करें. संसाधन के नाम के लिए, इस फ़ॉर्मैट का इस्तेमाल किया जाता है:

        projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
    
  2. मौजूदा डेटाबेस को मिटाने के लिए, gcloud firestore databases delete कमांड का इस्तेमाल करें:

        gcloud firestore databases delete --database='DATABASE_ID'
    

    DATABASE_ID को डेटाबेस आईडी से बदलें.

  3. डेटाबेस मिटाने के बाद, कम से कम पांच मिनट इंतज़ार करें, ताकि डेटाबेस आईडी फिर से उपलब्ध हो सके. gcloud firestore databases restore कमांड का इस्तेमाल करके, डेटा वापस पाने की प्रोसेस शुरू करें:

    gcloud firestore databases restore \
    --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \
    --destination-database='DATABASE_ID'
    

    DATABASE_ID को डेटाबेस आईडी से बदलें.

आगे क्या करना है