Przywracanie na miejscu

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

Przywracanie na miejscu

Przywracanie na miejscu pozwala przywrócić bazę danych z kopii zapasowej do źródłowej bazy danych, w ramach której utworzono kopię zapasową, podczas gdy pierwotna baza danych nadal istnieje. Przywracanie na miejscu pozwala uniknąć przekierowywania ruchu lub tworzenia bazy danych o innej nazwie.

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

Przywracanie na miejscu

Aby wykonać przywracanie na miejscu, wykonaj te czynności:

  1. Określ kopię zapasową, której chcesz użyć do przywracania.
  2. usunąć istniejącą bazę danych.
  3. Użyj kopii zapasowej i identyfikatora usuniętej bazy danych, aby dokończyć operację przywracania.

Zanim zaczniesz

Przed rozpoczęciem procesu przywracania na miejscu zalecamy wykonanie tych czynności:

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

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

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

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

      gcloud firestore indexes composite list --database=DATABASE_ID
      

      Zastąp DATABASE_ID identyfikatorem bazy danych.

    • Aby pobrać listę wykluczeń indeksu pojedynczego pola (wbudowanych), użyj zapytania gcloud firestore indexes fields list.

      gcloud firestore indexes fields list --database=DATABASE_ID
      

Przywracanie na miejscu

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

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

  1. Za pomocą polecenia gcloud alpha firestore backups list wskaż kopię zapasową, której chcesz użyć w ramach operacji przywracania, i zanotuj nazwę zasobu. Nazwa zasobu ma ten 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. Po usunięciu bazy danych odczekaj co najmniej 5 minut, aż identyfikator bazy danych znów będzie dostępny. Zainicjuj 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?