Процесс обнаружения изменений в базе данных в Snowflake - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь разработать процесс для захвата обнаружения изменений в базе данных и затем отправить его на GitHub. Попытка изучить бесплатные варианты или написать собственный код. Несколько вариантов, о которых я подумал:

  1. Создание иерархической структуры папок, такой как Account -> Db -> schema -> table, views, sp et c (разные папки ) отслеживается GitHub и экспортирует все объекты каждый раз, когда мы хотим добавить код sh в GitHub. GitHub будет отслеживать все изменения (любые новые объекты или обновления). Не думал об удалениях.

  2. Написать код внутри снежинки, который обнаруживает изменения (используя полное внешнее объединение) в объектах, а затем записывает данные в таблицу в Snowflake, которая включает в себя последний DDL .

Может кто-нибудь помочь мне с чем-то похожим, что кто-либо использовал для реализации обнаружения изменений базы данных в Snowflake. Я видел DBT, Sqitch и Snowchange, но они не соответствуют / не соответствуют тому, что я пытаюсь сделать.

Любая помощь будет высоко ценится.

Приветствия

1 Ответ

0 голосов
/ 28 апреля 2020

Возможно, вы можете рассмотреть возможность использования terraform с его провайдером https://github.com/chanzuckerberg/terraform-provider-snowflake. Terraform - это инструмент для безопасного и эффективного построения, изменения и создания версий инфраструктуры. С поставщиком Snowflake вы можете создавать базы данных, таблицы, схемы, каналы, создавать версии в Github и развертывать изменения в Snowflake. Мы планируем использовать это для того, что вы упомянули. Скучная часть заключается в том, что в начале нам нужно импортировать много существующих ресурсов, но после того, как это будет сделано, и у нас есть все в Github, мы можем ввести CI / CD, это означает, что мы сначала меняем код в Github через Запрос Pull, затем, когда он проверен и утвержден, при объединении, чтобы освоить изменения, будет передан в Snowflake, и он также работает для удаления ресурсов.

...