# Введение > На данный момент действия доступны только для PostgreSQL, MySQL и H2. ![Пример действия](./images/example-action.png) ## Что такое действия? **Действия** — это сущности в Glarus BI, которые позволяют вам создавать настраиваемые формы и бизнес-логику. Действия позволяют вам писать параметризованный SQL, который записывает данные обратно в вашу базу данных. Действия могут быть прикреплены к [кнопкам на дашбордах](../dashboards/actions.md) для создания настраиваемых рабочих процессов. Вы даже можете публично поделиться параметризованными формами, которые генерируют действия, чтобы собирать данные. Вот несколько идей, что можно сделать с помощью действий: - Отметить клиента, которого вы просматриваете на дашборде, как VIP. - Позволить членам команды удалять избыточные данные. - Создать форму обратной связи с клиентами и встроить ее на ваш сайт. Действия должны быть добавлены в [модель](../data-modeling/models.md), но действия выполняются только на базовых таблицах, которые поддерживают эти модели (таким образом, действия никогда не изменят вашу [определение модели](../data-modeling/models.md#edit-a-models-query)). ## Включение действий для базы данных Чтобы действия работали, сначала вам нужно сделать следующее две вещи: 1. **Включить действия моделей для подключения к базе данных**. Чтобы включить действия для подключения к базе данных, администраторы должны нажать на значок **шестеренки** в верхнем правом углу и перейти к **Admin settings** > **Databases**, затем нажать на базу данных, для которой вы хотите создать действия. Справа от формы настроек подключения переключите опцию **Model actions**. Для работы действий учетная запись пользователя базы данных (учетная запись, которую вы используете для подключения к базе данных) должна иметь [права на запись](../databases/users-roles-privileges.md#privileges-to-enable-actions). На данный момент действия поддерживаются только на базах данных PostgreSQL, MySQL и H2. 2. **Создать хотя бы одну модель из этой базы данных.** Действия связаны с моделями, поэтому вам нужно будет создать (или иметь доступ к) хотя бы одной модели, прежде чем вы сможете начать создавать действия. ## Кто может использовать действия - **Для создания или редактирования действия** человек должен быть в группе с привилегиями [редактирования собственных запросов](../permissions/data.md) для соответствующей базы данных. - **Для выполнения действия** все, что вам нужно, это доступ на просмотр к модели действия или дашборду (или ссылка на общедоступное действие). ## Типы действий Существует два типа действий: - [Базовые](./basic.md) - [Пользовательские](./custom.md) ## Запуск действий Существует несколько способов запуска действий: - [Со страницы сведений о модели](../data-modeling/models.md#model-detail-page) нажатием кнопки **run**. - Из [общедоступной формы](./custom.md#make-public) действия. - Из [кнопки на дашборде](../dashboards/actions.md). ## Действия изменяют данные в таблицах, что влияет на модели Просто хочется уточнить: действия, даже если они добавлены к моделям, вносят свои изменения в базовую таблицу, которую опрашивает модель. Это означает, что любой, кто имеет доступ к базовой таблице, или к вопросам или другим моделям, основанным на этой таблице, сможет увидеть эффекты действия. Инструменты, отличные от Metabase, которые подключены к этой базе данных, также учтут эти изменения. В этом смысле модели являются контейнерами для действий; модели - это способ организации действий. На самом деле, вы могли бы (теоретически) добавить [пользовательское действие](./custom.md) к модели, которое выполняет обновление, не связанное с данными этой модели. Например, вы могли бы написать пользовательское действие, которое обновляет таблицу `Accounts`, и добавить это действие к модели, которая опрашивает только несвязанную таблицу (например, таблицу `Orders`). Но, знаете, может быть, не стоит этого делать (если у вас нет на это очень веской причины). [Базовые действия](./basic.md), однако, доступны только для моделей, которые оборачивают одну исходную таблицу. Прежде чем использовать действия в производстве, рассмотрите возможность поиграться с действиями на некоторых примерах данных (например, на образцовой базе данных, включенной в Metabase), чтобы понять, как они работают. ## Особенности действий - Если для соответствующей таблицы или модели включено кэширование, вы можете не увидеть эффекты действия в Metabase до тех пор, пока Metabase не обновит данные (хотя вы всегда можете вручную обновить данные). - При создании записей в таблице, которая не имеет автоматически генерируемого первичного ключа, вам нужно будет ввести доступный идентификатор (то есть идентификатор, который уже не используется другой записью). - Вы не можете "отменить" действия. Однако вы можете создать и выполнить действие для воссоздания удаленной записи или изменения обновленной записи обратно на ее исходные значения (при условии, что вы знаете исходные значения). ## Дополнительное чтение - [Базовые действия](./basic.md) - [Пользовательские действия](./custom.md) - [Действия на дашбордах](../dashboards/actions.md)