Каков наилучший способ управления версиями схемы и метаданных базы данных в Hasura Cloud?

Мы столкнулись с проблемой, когда у нас есть резервная копия базы данных, но миграции вышли из строя, и в результате в нашем внешнем коде есть много запросов GraphQL, которые вообще не соответствуют отношениям с базой данных.

Я новичок в этом проекте, но похоже, что люди просто вносили изменения в консоль Hasura, а не через CLI и совершали миграции.

Я просматриваю и воссоздаю отношения вручную, чтобы они соответствовали запросам GraphQL во внешнем интерфейсе, но в дальнейшем я хотел бы убедиться, что это больше не повторится.

Мы также предпочли бы перенести все из нашего образа Docker на Heroku в облако Hasura, если это возможно.

Мой вопрос:

Существует ли стандартизированный шаблон для обеспечения контроля версий данных базы данных, схемы базы данных и метаданных Hasura [предпочтительно Hasura Cloud]?

Более того, есть ли способ применить этот шаблон, чтобы другие разработчики не могли просто настроить что-то в консоли Hasura, и все снова рассинхронизировалось.

Заранее большое спасибо, если сможете помочь. ‍♂️

1 ответ

https://hasura.io/blog/moving-from-local-development-staging-production-with-hasura/ — хорошее место для начала.

Я настоятельно рекомендую следовать этому. Локальный запуск Hasura через Docker очень прост в настройке иhasura consoleпредоставит вам доступ к консоли локального хоста, которая синхронизирует ваши изменения с файлами метаданных/миграции в вашем локальном репо. Оттуда просто зафиксируйте, просмотрите, объедините и воспользуйтесь преимуществами развертывания Hasura Cloud на GitHub, если сможете. Если не,hasura deployи несколько переменных среды — это действительно все, что вам нужно для развертывания изменений.

Что касается запрета разработчикам настраивать что-то в консоли, если вы говорите о какой-то развернутой общей среде, то, честно говоря, я думаю, что доступ к консоли должен быть ограничен.

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