Перейти к основному содержимому

Пересоздание таблицы без указания структуры

Задача

Перенести в проект таблицу из другого проекта, для использования в модели данных или в скрипте загрузки

Проблема

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

Решение

Создать таблицу аналогичную источнику

  1. Узнать UUID проекта источника. Можно это сделать через информацию о проекте в системе или через url ссылку проекта

  1. В скрипте в секции Create вместо указания структуры укажем ссылку на источник. Обратите внимание, что разделители между частями UUID должны быть нижние подчеркивания

  1. В поле Source изменим источник на подключение к внутренней базе ClickHouse (на разных стендах оно может отличаться, будем использовать ClickHouse common). Указав такой источник мы можем обращаться через внутреннюю базу данных ClickHouse к доступным проектам.

  1. В секции Read вместо выбора полей указываем “*”, что говорит о том, что выбираем все столбцы не привязываясь к точным наименованиям, чтобы избежать ошибок при изменении названий в источнике

Итог

При изменении типов данных, названии полей или их удалении скрипт не будет завершаться с ошибкой. Можно не переживать, что при изменении источника, будут неявные ошибки