Przywracanie na miejscu

Na tej stronie znajdziesz informacje o tym, jak przywrócić dane z kopii zapasowej do bazy danych o tej samej nazwie co źródłowa baza danych kopii zapasowej. Zanim przeczytasz tę stronę, zapoznaj się z artykułem Tworzenie kopii zapasowej i przywracanie danych.

Przywracanie na miejscu

Przywracanie w miejscu umożliwia przywrócenie bazy danych z kopii zapasowej do źródłowej bazy danych, która utworzyła kopię zapasową, podczas gdy oryginalna baza danych nadal istnieje. Przywracanie w miejscu pomaga uniknąć przekierowywania ruchu lub tworzenia bazy danych o innej nazwie.

Operacja przywracania musi korzystać z docelowej bazy danych, która jeszcze nie istnieje. Możesz jednak zasymulować przywracanie w miejscu, usuwając bazę danych źródłową, a następnie przywracając ją z kopii zapasowej do nowej bazy danych o tej samej nazwie co baza danych źródłowa.

Przeprowadzanie przywracania w miejscu

Aby przeprowadzić przywracanie w miejscu, wykonaj te czynności:

  1. Wskaż kopię zapasową, której chcesz użyć do przywracania.
  2. Usuń istniejącą bazę danych.
  3. Aby dokończyć operację przywracania, użyj kopii zapasowej i identyfikatora usuniętej bazy danych.

Zanim zaczniesz

Przed rozpoczęciem przywracania w miejscu wykonaj te czynności:

  1. Wyeksportuj dane z bazy danych, którą chcesz usunąć.

    Jeśli chcesz odzyskać usuniętą bazę danych, zaimportuj dane z operacji eksportu. Aby przywrócić usuniętą bazę danych do tego samego identyfikatora bazy danych, musisz poczekać, aż zakończą się wszystkie trwające operacje przywracania, a następnie:

    1. Usuń istniejącą bazę danych za pomocą identyfikatora bazy danych i poczekaj co najmniej 5 minut.
    2. Utwórz nową bazę danych z identyfikatorem bazy danych.
    3. Rozpoczynanie operacji importu
  2. Pobierz i skopiuj konfigurację indeksu bazy danych. Operacje eksportu nie rejestrują definicji indeksów. Użyj konfiguracji indeksu, aby ponownie utworzyć indeksy po zakończeniu operacji przywracania w miejscu. Aby pobrać konfigurację indeksu bazy danych, użyj tych poleceń:

    • Użyj gcloud firestore indexes composite list, aby pobrać listę indeksów złożonych:

      gcloud firestore indexes composite list --database=DATABASE_ID
      

      Zastąp DATABASE_ID identyfikatorem bazy danych.

    • Użyj gcloud firestore indexes fields list, aby pobrać listę wykluczeń indeksów pojedynczego pola (wbudowanych).

      gcloud firestore indexes fields list --database=DATABASE_ID
      

Przeprowadzanie przywracania w miejscu

Aby przeprowadzić przywracanie w miejscu, wykonaj te czynności. Ten proces wymaga przestoju między momentem usunięcia bazy danych a zakończeniem operacji przywracania.

Po rozpoczęciu operacji przywracania nie można jej anulować. Musisz poczekać, aż się zakończy. Operacja przywracania natychmiast zajmuje identyfikator bazy danych użyty w operacji.

  1. Użyj polecenia gcloud alpha firestore backups list, aby określić kopię zapasową, która ma być użyta w operacji przywracania, i zanotuj nazwę zasobu. Nazwa zasobu ma format:

        projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
    
  2. Aby usunąć istniejącą bazę danych, użyj polecenia gcloud firestore databases delete:

        gcloud firestore databases delete --database='DATABASE_ID'
    

    Zastąp DATABASE_ID identyfikatorem bazy danych.

  3. Odczekaj co najmniej 5 minut od usunięcia bazy danych, aby identyfikator bazy danych stał się ponownie dostępny. Rozpocznij operację przywracania za pomocą polecenia gcloud alpha firestore databases restore

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

    Zastąp DATABASE_ID identyfikatorem bazy danych.

Co dalej?