Существуют ли какие-либо концепции миграции схемы базы данных Firestore, сравнимые с миграциями рельсов ActiveRecord? - PullRequest
0 голосов
/ 27 ноября 2018

Наша модель на базе БД Firestore развивается естественным образом.Теперь мы хотели бы обновить все существующие документы до новой (неявной) схемы.

Существуют ли какие-либо инструменты, поддерживающие это, или каковы лучшие практики.Я хотел бы иметь концепцию, сопоставимую с миграциями рельсов ActiveRecord.

Ответы [ 2 ]

0 голосов
/ 04 августа 2019

Я не смог найти инструмент миграции схемы FireStore, поэтому я написал fireway .В настоящее время это очень просто (не поддерживает обратную миграцию), но этого было достаточно для моего варианта использования.

Вот пример сценария миграции:

// migrations/v0.0.1__example.js

module.exports.migrate = async ({firestore}) => {
    await firestore.collection('name').add({key: 'value'});
};

Затем запустите fireway migrateперенести проект по умолчанию.

0 голосов
/ 27 ноября 2018

В настоящее время для Firestore вам придется написать собственный код, чтобы обновить все существующие документы до новой (неявной) схемы.Я прочитал несколько недель назад в посте, что команда Firestore работает над тем, чтобы облегчить это в будущем.

Если ваша новая схема требует некоторых изменений во всей вашей базе данных, вы также можете рассмотреть возможность использования Firestoreсистема импорта / экспорта , которая позволяет вам выгружать ваши данные в корзину GCS.Он не в формате JSON, как вы, вероятно, ожидали, но в том же формате, что и Cloud Datastore, поэтому я думаю, что это поможет вам решить эту проблему.

...