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 →
RepoRadar