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

यह जानकारी, Firestore के Standard और Enterprise वर्शन, दोनों पर लागू होती है.

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

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

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

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

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

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

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

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

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

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

  • कंपोज़िट इंडेक्स की सूची वापस पाने के लिए, 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 की जगह डेटाबेस आईडी डालें.

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