dbAdmin - управление базой данных

Модуль для управления таблицами базы данных.

Основные возможности:

  • просмотр таблиц;
  • переименование, очищение и удаление таблиц;
  • редактирование данных прямо в ячейке;
  • удаление строк таблицы;
  • экспорт таблиц в текстовый файл;
  • поиск таблицы по имени или классу;
  • выполнение sql запросов.

Описание возможностей

После установки компонент можно найти в меню "Приложения". Он выводит список таблиц базы данных. Вид максимально приближенный к phpMyAdmin.

Для таблицы можно указать класс объекта MODX, что дает возможность использовать функционал xPDO и расширяет функциональность модуля. Например, можно изменять данные в ячейке, как в phpMyAdmin, сортировать столбцы, выполнять sql запрос через указание класса, искать таблицу по классу и т.д.

Системные таблицы с нужными параметрами добавляются при установке компонента. Для пользовательских таблиц нужно самостоятельно указывать класс и пакет. Последний нужен для xPDO. Я постарался упростить этот процесс. Механизм следующий:

  1. Открываем свойства таблицы (первая кнопка в колонке "Действия").
  2. Указываем название пакета и нажимаем кнопку с волшебной палочкой. Название класса подставится автоматически.
  3. Сохраняем.

Работать с компонентом достаточно просто и интуитивно. Двойной клик по строке открывает окно с данными выбранной таблицы. Если нужно выгрузить всю базу данных, нажимаем кнопку "Экспорт базы данных". Если нужно выполнить операции экспорта, очистки или удаления нескольких таблиц, работаем с меню "Массовые действия", предварительно отметив галочками соответствующие таблицы. Для работы с одной таблицей можно пользоваться контекстным меню или кнопками из колонки "Действия".

Еще одна фича компонента - выполнение sql запросов. Для этого есть отдельная вкладка SQL. Там можно писать стандартные запросы MySql. А так как у нас есть карта таблиц и классов, то возможен вот такой синтаксис:

select pagetitle, uri from {modResource}

Результат запроса показывается в нижней части пока через print_r. В дальнейшем планирую вывод в окне.

Для автоматического формирования запроса в колонке "Действия" есть кнопка "Select From", выводящая скрипт селекта в окно SQL запросов. Нажимаем на нее, например, у таблицы modx_access_actions и получаем вот такой скрипт в поле SQL запроса:

SELECT `id`,`target`,`principal_class`,`principal`,`authority`,`policy` FROM `modx_access_actions`

Разрешения

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

Название Описание
tables_list Разрешает вывод списка таблиц.
table_view Разрешает просмотр таблицы.
table_save Разрешает сохранять данные.
table_truncate Разрешает удалять записи из таблицы (truncate table).
table_remove Разрешает удалять таблицу (drop table).
table_export Разрешает экспорт таблицы.
sql_query_execute Разрешает выполнение sql запросов.

Администратору с sudo дозволено всё.

Пока все. В планах, также возможность создания таблиц, колонок, индексов.

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

Короткое видео.

Проект на Github.

Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.