Skip to main content

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

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

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

image.png

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

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

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

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

где:

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



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

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

  • Определить и указать скрипту список полей новой таблицы. Для этого:
  1. Описать секцию Create (для создания таблицы в Clickhouse(КХ), в которую запишутся данные из таблицы-источника):
    Create @@@ - начало секции парсера
    CREATE TABLE IF NOT 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 - команда КХ на выбор полей
      "id"::text, -  поле таблицы, которое будет взято из источника. "название поля" / тип данных. Для избежания ошибок при импорте всем полям данной секции прописывается тип ::text
      "createdAt"::text,
      "updatedAt::text,
    FROM
      "Car" - таблица источника
    @@@ - конец секции парсера

  4. Описать секцию Write
    Write @@@ - начало секции парсера
    INSERT 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 (если нет, not null)

  2. В список полей таблицы откуда импортируем для секции Read добавить строку с названием поля:
    "id"::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. Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки
В таблице появится поле с назначенным типом данных и рассчитанными по заданному выражению значениями