Как настроить миграцию Hasura между DEV и PROD без потери данных

Я использую руководство по миграции hasura для синхронизации двух серверов — DEV и PROD. Раньше мы вручную переносили изменения (например, «используя пользовательский интерфейс для копирования всех изменений»), поэтому теперь базы данных похожи на 90%.

Мы решили настроить правильные миграции, но, исходя из моих тестов, для начальной синхронизации требуется «чистый лист».

Пример проблемы:

У нас есть таблица пользователей как на DEV, так и на PROD. На DEV есть дополнительное поле . Мы делаем

1 (на разработчике)

2 hasura migrate apply --endpoint PRODUCTION

Мы получаем ошибку .

Вопрос в том, как мы можем синхронизировать БД без предварительной очистки PROD?

1 ответ

Это немного скрыто, но раздел о миграциях охватывает этот сценарий (вы не отслеживали/создавали миграции, и теперь вам нужно их инициализировать в первый раз):

https://hasura.io/docs/latest/graphql/core/migrations/migrations-setup.html#step-3-initialize-the-migrations-and-metadata-as-per-your-current-state

Надеюсь, это поможет =)

Другие вопросы по тегам