
Truss — це інтерактивна ER-діаграма структури бази даних вашого застосунку на Laravel. Вона безпечна для використання в production, оскільки працює виключно у режимі читання. Я презентував її в липні, і відтоді вона стала частиною кожного клієнтського проєкту, захищена policy viewTruss. Проте дві речі не давали мені спокою. По-перше, дашборд завжди залишався фірмового синього кольору Truss, незалежно від брендингу клієнта. По-друге, кнопка експорту (у Markdown або DBML) натискалася лише тоді, коли я про це згадував. Через це файл схеми в репозиторії часто не відповідав реальному стану бази, що зазвичай помічали занадто пізно.
Truss 1.6 вирішує обидві проблеми: додає систему тем для дашборду та команду truss:export для термінала та CI-пайплайнів, що позбавляє потреби відкривати браузер.
Адаптація під ваш застосунок
Налаштування кольорів та шрифтів тепер знаходяться в truss.theme. Truss автоматично змінює скіни для світлого та темного режимів:
// config/truss.php
'theme' => [
'colors' => [
'light' => [
'accent' => '#b45309',
'accent-secondary' => '#0f766e',
'background' => '#faf6f0',
'surface' => '#fffdf8',
'text' => '#3a2a1c',
'border' => '#c8873f',
],
'dark' => [
'accent' => '#fbbf24',
'background' => '#1b130b',
'surface' => '#26190d',
'text' => '#f5e6d0',
'border' => '#8a6428',
],
],
],
Перезаписуються лише вказані вами параметри, решта залишається в палітрі Blueprint за замовчуванням. Кастомізація досить глибока: змінюються не лише панелі, а й лінії зв’язків на діаграмі, фонова сітка та рядки таблиць. Стилі працюють як same-origin stylesheet без додаткового етапу збірки (build step). Кожне значення валідується, тому помилка в коді просто поверне стандартний колір замість того, щоб «зламати» верстку.
Підбирати hex-значення вручну не обов’язково. Новий theme builder дозволяє переглядати палітру наживо, використовувати пресети (Blueprint, Ember, Contrast) та генерує готовий код для config/truss.php.
Експорт схеми без браузера
php artisan truss:export --format=dbml --output=docs/schema.dbml
php artisan truss:export --format=json --check
truss:export — це CLI-аналог кнопки експорту. Команда підтримує п’ять форматів (DBML, JSON, CSV, Markdown та Mermaid), які генеруються безпосередньо через PHP. Завдяки детермінованому виводу однакова схема завжди створює ідентичний файл. Це робить прапор --check надзвичайно корисним: додайте команду в commit hook або CI, і вона видасть помилку, як тільки структура бази даних перестане відповідати файлу в репозиторії. Жодних мережевих запитів — тільки аналіз структури.
Спробувати
- Конструктор тем: trussphp.com/theme-builder
- Демо наживо: trussphp.com/demo
- Гайд із налаштування тем: trussphp.com/guides/theming
- Гайд з експорту схеми: trussphp.com/guides/schema-export
- Changelog: CHANGELOG.md на GitHub
Оновитися можна командою composer update albertoarena/laravel-truss.
Що далі
Наступним у roadmap є Lighthouse CI: автоматизований аудит продуктивності та доступності для обох тем. Далі за планом: нові правила truss:doctor, підтримка Eloquent-зв'язків для смислових міток замість звичайних foreign keys, а також контекст схеми, адаптований для AI-агентів. Якщо вам бракує певних налаштувань теми або форматів експорту, створюйте обговорення.
Примітки
4 серпня 2026 року посилання на реліз v1.6.0 було замінено на посилання на повний changelog, оскільки версія v1.6.1 вже містить виправлення для попереднього оновлення.