Skip to main content

Редактор скрипта загрузки

Скрипт загрузки генерируется автоматически после выбора источников данных и запуска импорта.  

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

image.png

Примеры использования редактора

Добавить источник

Шаги Ожидаемый результат

В любом месте скрипта добавить строку
Source "Название коннекта"

где:

  • Source - ключевое слово обозначающее вставку новго конекта,
  • "Название источника" - имя коннекта из списка источников
  • При вставке кода для импорта таблиц из этого источника   таблицы успешно загрузятся в БД проекта



Добавить таблицу из источника

Шаги Ожидаемый результат
  • Объявить название таблицы:
    Table "Car"

  • Определить и указать скрипту список полей новой таблицы. Для этого:
  1. Описать секцию Create (для создания таблицы в Clickhouse(КХ), в которую запишутся данные из таблицы-источника):
    Create @@@ @@@ - начало секции парсера
    CREATE TABLE IF NOT EXISTS EXISTS - команда КХ на создание таблицы
        "id" String NULL,  - поле таблицы, в которое будет записано значение из источника: "название поля" / тип данных / может ли быть пустым (если нет, not null)
        "createdAt" DateTime64 (6) NULL,
        "updatedAt" DateTime64 (6) NULL,

       ) ENGINE = MergeTree ()  
    ORDER BY
       tuple ()
    @@@ @@@ - конец секции парсера

  2. Описать секцию Delete (для удаления временной таблицы):
    Delete @@@
    ALTER TABLE "Car" DELETE WHERE 1=1
    @@@

  3. Описать секцию Read (Для выбора полей из таблицы-источника:
    Read @@@ @@@ - начало секции парсера
    SELECT SELECT - команда КХ на выбор полей
       "id"::text, -    поле таблицы, которое будет взято из источника.  "название поля" / тип данных.  Для избежания ошибок при импорте всем полям  данной секции  прописывается тип ::text
       "createdAt"::text,
       "updatedAt::text,
    FROM
       "Car"  - таблица источника
    @@@ @@@ - конец секции парсера

  4. Описать секцию Write
    Write @@@ @@@ - начало секции парсера
    INSERT INTO INTO - команда КХ на вставку данных созданную в КХ
       "Car" (
        "id",
        "createdAt",
        "updatedAt"
       )
    @@@ @@@ - конец секции парсера


  5. Убедиться что каждое поле импорта имеет одинаковое название в секциях Create, Read, Write

  6. Нажать кнопку «Сохранить». Для сохранения изменений в тексте скрипта

  7. Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки
  • Добавленная таблица появилась в списке доступных на странице модели данных проекта

  • Новая таблица содержит все поля указанные в скрипте загрузки

  • Новая таблица может быть использована в модели данных


Удалить таблицу

Шаги Ожидаемый результат
  1. Удалить строку объявляющую таблицу
    Table "Car"

  2. Удалить секции Create, Delete, Read, Write для этой таблицы

  3. Нажать кнопку «Сохранить». Для записи изменений в тексте скрипта

  4. Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки
Удаленная таблица исчезла из списка таблиц на странице модели данных


Добавить поле из таблицы источника в таблицу импорта

Шаги Ожидаемый результат
  1. В список полей таблицы куда вставляем секции Create добавить строку:  
    "id" String NULL NULL - "название поля" / тип данных / может быть пустым Null (если нет, not null)

  2. В список полей таблицы откуда импортируем для секции Read добавить строку с названием поля:
    "id"::text text -  "название поля" / тип данных (всегда текст)

  3. В список полей данной таблицы в секции Write добавить строку с названием поля:
    "id"

  4. Нажать кнопку «Сохранить». Для записи изменений в тексте скрипта

  5. Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки
На странице модели данных в данной таблице появилось поле  "id"  с типом данных, указанным в секции Create


Удалить поле из таблицы

Шаги Ожидаемый результат
  1. В списке полей таблицы в  секциях Create, Delete, Read, Write удалить необходимое поле

  2. Нажать кнопку «Сохранить». Для записи изменений в тексте скрипта

  3. Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки
Удаленное поле исчезло таблицы на странице модели данных


Изменить тип данных поля

Шаги Ожидаемый результат
  1. В строке поля таблицы в секции Create изменить тип на один из поддерживаемых КХ: String, Int64, Float32 и т.д.
    Полный список типов

  2. Нажать кнопку «Сохранить». Для записи изменений в тексте скрипта

  3. Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки
Тип поля изменился в таблице  


Создать вычисляемое поле в таблице

Шаги Ожидаемый результат

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

  1. В список полей таблицы в секции Create добавить новую строку с названием, типом, null, например:
    "field_name" Int32 NULL

  2. В секции Read добавить строку вида:
    func::text as "field_name"  , где
    func - вычисляемое выражение, например  "field_name1" + "field_name2",
    ::text - тип данных (всегда текст),  
    as "field_name" - алиaс поля

  3. В список полей данной таблицы в секции Write добавить строку с названием поля:
    "field_name"

  4. Нажать кнопку «Сохранить». Для записи изменений в тексте скрипта

  5. Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки
В таблице появится поле с назначенным типом данных и рассчитанными по заданному выражению значениями