Введение в действия¶
Предупреждение
На данный момент действия доступны только для PostgreSQL и MySQL.
Что такое действия?¶
Действия — это сущности в Glarus BI, которые позволяют вам создавать настраиваемые формы и бизнес-логику.
Действия позволяют вам писать параметризированный SQL, который записывает данные обратно в вашу базу данных. Действия могут быть прикреплены к кнопкам на дашбордах для создания настраиваемых рабочих процессов. Вы даже можете сделать общедоступными параметризированные формы, которые генерируют действия, чтобы собирать данные.
С помощью действий можно:
- отметить клиента на дашборде, как VIP;
- позволить членам команды удалять избыточные данные;
- создать форму обратной связи с клиентами и встроить её на ваш сайт.
Действия должны быть добавлены в модель, но действия выполняются только над исходными таблицами, которые предшествуют модели (таким образом, действия никогда не изменят ваше определение модели).
Включение действий для базы данных¶
Чтобы включить действия, нужно выполнить следующее:
- Включить действия моделей для подключения к базе данных. Чтобы включить действия для подключения к базе данных, администратор должен нажать кнопку со значком шестерёнки в верхнем правом углу и перейти к Управление > Базы данных, затем щёлкнуть по базе данных, для которой требуется создать действия. Справа от формы настроек подключения следует переключить опцию Model actions. Для работы действий учётная запись пользователя базы данных (учётная запись, которую вы используете для подключения к базе данных) должна иметь права на запись. На данный момент действия поддерживаются только для баз данных PostgreSQL и MySQL.
- Создать хотя бы одну модель из этой базы данных. Действия связаны с моделями, поэтому вам нужно будет создать модели (или иметь доступ хотя бы к одной созданной модели), прежде чем вы сможете начать создавать действия.
Кто может использовать действия¶
- Для создания или редактирования действия пользователь должен быть в группе с разрешением редактирования прямых запросов для соответствующей базы данных.
- Для выполнения действия всё что вам нужно — это доступ на просмотр к модели действия или дашборду (или ссылка на общедоступное действие).
Типы действий¶
Существует два типа действий:
Запуск действий¶
Существует несколько способов запуска действий:
- Со страницы сведений о модели нажатием кнопки run.
- Из общедоступной формы действия.
- Из кнопки на дашборде.
Действия изменяют данные в таблицах, что влияет на модели¶
Следует уточнить: действия, даже если они добавлены к моделям, вносят свои изменения в базовую таблицу, которую опрашивает модель. То есть все кто имеет доступ к базовой таблице, запросам или другим моделям, основанным на этой таблице, смогут увидеть результаты действия. Другие системы (не Glarus BI), которые подключены к этой базе данных, также получат эти изменения.
В этом смысле модели являются контейнерами для действий; модели — это способ организации действий. По сути, вы могли бы (теоретически) добавить пользовательское действие к модели, которое выполняет обновление, не связанное с данными этой модели. Например, вы могли бы написать пользовательское действие, которое обновляет таблицу Accounts
, и добавить это действие к модели, которая опрашивает только несвязанную таблицу (например, таблицу Orders
). Но без веской причины не стоит этого делать. Базовые действия доступны только для моделей, которые оборачивают одну исходную таблицу.
Прежде чем использовать действия в промышленной эксплуатации, поэкспериментируйте с ними на тестовых образцах данных (например, на демонстрационной базе данных, включённой в Glarus BI), чтобы понять, как они работают.
Особенности действий¶
- Если для соответствующей таблицы или модели включено кэширование, вы можете не увидеть эффекты действия в Glarus BI до тех пор, пока Glarus BI не обновит данные (при этом вы всегда можете обновить данные вручную).
- При создании записей в таблице, которая не имеет автоматически генерируемого первичного ключа, вам нужно будет ввести доступный идентификатор (то есть идентификатор, который уже не используется другой записью).
- Вы не можете "отменить" действия. Однако вы можете создать и выполнить действие для воссоздания удалённой записи или откатить обновлённую запись к исходным значениям (при условии, что вы знаете исходные значения).