Введение

На данный момент действия доступны только для PostgreSQL, MySQL и H2.

Пример действия

Что такое действия?

Действия — это сущности в Glarus BI, которые позволяют вам создавать настраиваемые формы и бизнес-логику.

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

Вот несколько идей, что можно сделать с помощью действий:

  • Отметить клиента, которого вы просматриваете на дашборде, как VIP.

  • Позволить членам команды удалять избыточные данные.

  • Создать форму обратной связи с клиентами и встроить ее на ваш сайт.

Действия должны быть добавлены в модель, но действия выполняются только на базовых таблицах, которые поддерживают эти модели (таким образом, действия никогда не изменят вашу определение модели).

Включение действий для базы данных

Чтобы действия работали, сначала вам нужно сделать следующее две вещи:

  1. Включить действия моделей для подключения к базе данных. Чтобы включить действия для подключения к базе данных, администраторы должны нажать на значок шестеренки в верхнем правом углу и перейти к Admin settings > Databases, затем нажать на базу данных, для которой вы хотите создать действия. Справа от формы настроек подключения переключите опцию Model actions. Для работы действий учетная запись пользователя базы данных (учетная запись, которую вы используете для подключения к базе данных) должна иметь права на запись. На данный момент действия поддерживаются только на базах данных PostgreSQL, MySQL и H2.

  2. Создать хотя бы одну модель из этой базы данных. Действия связаны с моделями, поэтому вам нужно будет создать (или иметь доступ к) хотя бы одной модели, прежде чем вы сможете начать создавать действия.

Кто может использовать действия

  • Для создания или редактирования действия человек должен быть в группе с привилегиями редактирования собственных запросов для соответствующей базы данных.

  • Для выполнения действия все, что вам нужно, это доступ на просмотр к модели действия или дашборду (или ссылка на общедоступное действие).

Типы действий

Существует два типа действий:

Запуск действий

Существует несколько способов запуска действий:

Действия изменяют данные в таблицах, что влияет на модели

Просто хочется уточнить: действия, даже если они добавлены к моделям, вносят свои изменения в базовую таблицу, которую опрашивает модель. Это означает, что любой, кто имеет доступ к базовой таблице, или к вопросам или другим моделям, основанным на этой таблице, сможет увидеть эффекты действия. Инструменты, отличные от Metabase, которые подключены к этой базе данных, также учтут эти изменения.

В этом смысле модели являются контейнерами для действий; модели - это способ организации действий. На самом деле, вы могли бы (теоретически) добавить пользовательское действие к модели, которое выполняет обновление, не связанное с данными этой модели. Например, вы могли бы написать пользовательское действие, которое обновляет таблицу Accounts, и добавить это действие к модели, которая опрашивает только несвязанную таблицу (например, таблицу Orders). Но, знаете, может быть, не стоит этого делать (если у вас нет на это очень веской причины). Базовые действия, однако, доступны только для моделей, которые оборачивают одну исходную таблицу.

Прежде чем использовать действия в производстве, рассмотрите возможность поиграться с действиями на некоторых примерах данных (например, на образцовой базе данных, включенной в Metabase), чтобы понять, как они работают.

Особенности действий

  • Если для соответствующей таблицы или модели включено кэширование, вы можете не увидеть эффекты действия в Metabase до тех пор, пока Metabase не обновит данные (хотя вы всегда можете вручную обновить данные).

  • При создании записей в таблице, которая не имеет автоматически генерируемого первичного ключа, вам нужно будет ввести доступный идентификатор (то есть идентификатор, который уже не используется другой записью).

  • Вы не можете “отменить” действия. Однако вы можете создать и выполнить действие для воссоздания удаленной записи или изменения обновленной записи обратно на ее исходные значения (при условии, что вы знаете исходные значения).

Дополнительное чтение