Редактор скрипта загрузки
Скрипт загрузки генерируется автоматически после выбора источников данных и запуска импорта.
Этап ручного редактирования скрипта загрузки является необязательным, однако функциональность Fastboard позволяет при необходимости внести изменения.
Примеры использования редактора
Добавить источник
Шаги |
Ожидаемый результат |
В любом месте скрипта добавить строку Source "Название коннекта"
где:
- Source - ключевое слово обозначающее вставку новго конекта,
- "Название источника" - имя коннекта из списка источников
|
- При вставке кода для импорта таблиц из этого источника
таблицы успешно загрузятся в БД проекта
|
Добавить таблицу из источника
Шаги |
Ожидаемый результат |
- Объявить название таблицы:
Table "Car"
- Определить и указать скрипту список полей новой таблицы. Для этого:
- Описать секцию 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 ()
@@@ @@@ - конец секции парсера
- Описать секцию Delete (для удаления временной таблицы):
Delete @@@ ALTER TABLE "Car" DELETE WHERE 1=1 @@@
- Описать секцию Read (Для выбора полей из таблицы-источника:
Read @@@ @@@ - начало секции парсера
SELECT SELECT - команда КХ на выбор полей
"id"::text, - поле таблицы, которое будет взято из источника. "название поля" / тип данных. Для избежания ошибок при импорте всем полям данной секции прописывается тип ::text
"createdAt"::text,
"updatedAt::text, FROM
"Car" - таблица источника
@@@ @@@ - конец секции парсера
- Описать секцию Write
Write @@@ @@@ - начало секции парсера INSERT INTO INTO - команда КХ на вставку данных созданную в КХ
"Car" ( "id", "createdAt", "updatedAt"
)
@@@ @@@ - конец секции парсера
- Убедиться что каждое поле импорта имеет одинаковое название в секциях Create, Read, Write
- Нажать кнопку «Сохранить». Для сохранения изменений в тексте скрипта
- Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки
|
- Добавленная таблица появилась в списке доступных на странице модели данных проекта
- Новая таблица содержит все поля указанные в скрипте загрузки
- Новая таблица может быть использована в модели данных
|
Удалить таблицу
Шаги |
Ожидаемый результат |
- Удалить строку объявляющую таблицу
Table "Car"
- Удалить секции Create, Delete, Read, Write для этой таблицы
- Нажать кнопку «Сохранить». Для записи изменений в тексте скрипта
- Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки
|
Удаленная таблица исчезла из списка таблиц на странице модели данных |
Добавить поле из таблицы источника в таблицу импорта
Шаги |
Ожидаемый результат |
- В список полей таблицы куда вставляем секции Create добавить строку:
"id" String NULL NULL - "название поля" / тип данных / может быть пустым Null (если нет, not null)
- В список полей таблицы откуда импортируем для секции Read добавить строку с названием поля:
"id"::text text - "название поля" / тип данных (всегда текст)
- В список полей данной таблицы в секции Write добавить строку с названием поля:
"id"
- Нажать кнопку «Сохранить». Для записи изменений в тексте скрипта
- Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки
|
На странице модели данных в данной таблице появилось поле "id" с типом данных, указанным в секции Create |
Удалить поле из таблицы
Шаги |
Ожидаемый результат |
- В списке полей таблицы в
секциях Create, Delete, Read, Write удалить необходимое поле
- Нажать кнопку «Сохранить». Для записи изменений в тексте скрипта
- Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки
|
Удаленное поле исчезло таблицы на странице модели данных |
Изменить тип данных поля
Шаги |
Ожидаемый результат |
- В строке поля таблицы в секции Create изменить тип на один из поддерживаемых КХ: String, Int64, Float32 и т.д.
Полный список типов
- Нажать кнопку «Сохранить». Для записи изменений в тексте скрипта
- Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки
|
Тип поля изменился в таблице |
Создать вычисляемое поле в таблице
Шаги |
Ожидаемый результат |
При импорте таблицы из источника перед вставкой таблицы в КХ можно создать поле которого нет в исходной таблице, но которое будет вычислено и создано на основе заданного выражения. Для этого:
- В список полей таблицы в секции Create добавить новую строку с названием, типом, null, например:
"field_name" Int32 NULL
- В секции Read добавить строку вида:
func::text as "field_name" , где func - вычисляемое выражение, например "field_name1" + "field_name2", ::text - тип данных (всегда текст), as "field_name" - алиaс поля
- В список полей данной таблицы в секции Write добавить строку с названием поля:
"field_name"
- Нажать кнопку «Сохранить». Для записи изменений в тексте скрипта
- Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки
|
В таблице появится поле с назначенным типом данных и рассчитанными по заданному выражению значениями |