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

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

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

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

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

एक ही जगह पर वापस लाने की सुविधा का इस्तेमाल करना

मौजूदा जगह पर डेटा वापस लाने के लिए, यह तरीका अपनाएं:

  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 की जगह डेटाबेस आईडी डालें.

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