Laravel Truss: визуализация структуры базы данных в виде диаграммы

Laravel Truss: визуализация структуры базы данных в виде диаграммы

Laravel Truss — это инструмент для визуализации структуры базы данных в приложениях на Laravel, представляющий её в виде интерактивной ER-диаграммы. Этот проект решает проблему визуального отображения схемы базы данных без необходимости запуска отдельных SQL-клиентов, создавая возможность для удобной навигации по таблицам и их связям.

Основное отличие от альтернатив — это возможность зумирования и прокрутки в режиме реального времени, что позволяет детально рассмотреть структуру базы данных без доступа к данным. Инструмент подойдет разработчикам, которые хотят получать представление о своей схеме без лишних усилий и чтения документации к SQL.

Проект написан на PHP и Laravel и требует установки через Composer. Учитывай, что Laravel Truss отображает только структуру базы данных, без возможности работы с данными, и на данный момент поддерживает только приложения на Laravel.

Что такое Laravel Truss

Laravel Truss — это инструмент для живого просмотра структуры базы данных. Он сканирует схему твоей базы данных и отображает её в виде прокручиваемой диаграммы ER, поэтому ты можешь видеть, как таблицы связаны друг с другом, не открывая клиент базы данных. Truss отображает только структуру: таблицы, столбцы, ключи и индексы; данные строк при этом не запрашиваются и не раскрываются.

Функционал

Основные возможности Laravel Truss включают:

  • Живую диаграмму ER, построенную с использованием Mermaid.
  • Режим фокуса: выделение одной таблицы и её соседей по внешним ключам с возможностью поиска.
  • Фильтрация по имени таблицы и переключение между метками типов.
  • Возможность панорамирования и масштабирования, с автоподбором и кнопкой «Fit».
  • Экспорт диаграммы в форматы PNG, SVG, JSON, CSV, Markdown, DBML или `llm` через командную строку с помощью команды `php artisan truss:export`.
  • Проверка различий схемы: просмотр изменений с момента последней миграции через команду `php artisan truss:diff`.
  • Проверка схемы на наличие проблем, таких как отсутствующие первичные ключи и дубликаты индексов, используя команду `php artisan truss:doctor`.
  • Поддержка нескольких соединений базы данных.
  • Кастомизация тем оформления.
  • Доступность для клавиатурных навигаций и экранных ридеров.
  • Автономная работа: Mermaid и шрифты обслуживаются из пакета, что позволяет работать без сети.

Установка и запуск

Чтобы установить Laravel Truss как зависимость для разработки, используй команду:

composer require albertoarena/laravel-truss --dev

Если ты планируешь использовать Truss в рабочем окружении, установи его как обычную зависимость:

composer require albertoarena/laravel-truss

Для работы требуется PHP версии 8.2 или выше и Laravel версии 12 или выше. Провайдер служб Truss автоматически обнаруживается, поэтому дополнительные действия по его настройке не нужны.

Как использовать

По умолчанию Truss доступен только в локальном окружении. Запусти своё приложение и перейди по адресу:

/truss

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

Ограничения и безопасность

Laravel Truss отображает только структуру базы данных и никогда не запрашивает данные строк. Доступ защищён фиксированным gate под названием `viewTruss`. Однако, если ты используешь самостоятелный бинарник Truss, такой системы защиты нет, так как доступ к базе данных уже подразумевает наличие необходимых полномочий.

Кроме того, имей в виду, что Truss хранит только структуру и проведённые проверки, никогда не запрашивая данные из таблиц, что добавляет уровень безопасности при работе с конфиденциальной информацией.

Открыть на GitHub: albertoarena/laravel-truss →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте