Экспорт данных Firestore с использованием gcloud в другую коллекцию - PullRequest
0 голосов
/ 17 января 2020
Проблема:

У меня есть заказы в двух разных проектах: project-a:/documents/orders и project-b:/documents/orders (около полумиллиона).

Мне нужно импортировать заказы из проекта-b в project-a:/documents/orders_OLD. Заказы из проекта-b представлены в более старом формате, который необходимо преобразовать в формат «никогда», который есть в проекте «а»: задача, которая была бы проще, если бы они находились в одной базе данных с самого начала.

I знаю, что я могу экспортировать их в корзину из проекта-а и скопировать в корзину в проекте-б. Но возможно ли затем импортировать его в РАЗНУЮ коллекцию? Большинство примеров, кажется, сосредоточены на одной и той же коллекции.

1 Ответ

1 голос
/ 28 января 2020

Я попытался воспроизвести ваш вариант использования:

  1. Я создал проект (project-b) с Firestore.

  2. Я создал новую коллекцию.

  3. Я экспортировал коллекцию в GCS:

      gcloud beta firestore export  gs://test-bucket  --collection-ids='my-colection'
    
  4. Я перешел в другой проект, в который я хочу импортировать коллекцию:

      gcloud config set project project-a
    
  5. Установите учетную запись службы по умолчанию для ядра приложения (projecta@appspot.gserviceaccount.com). Сохраните роль администратора в project-b, чтобы иметь доступ к корзинам. Вам не нужно копировать в корзину в project-a.

  6. Я импортировал коллекцию:

      gcloud beta firestore import gs://project-b/file/  --collection-ids='my-colection'
    

Можете ли вы объяснить что вы имеете в виду:

Но возможно ли затем импортировать его в РАЗНУЮ коллекцию? Большинство примеров, как представляется, сосредоточены на одной коллекции.

Если вы хотите импортировать коллекцию в другую коллекцию документов с помощью gcloud команда ссылка , формат не поддерживает ее :

    gcloud beta firestore import INPUT_URI_PREFIX [--async] [--collection-ids=[COLLECTION_IDS,…]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...