Laravel Trussとは?Laravelのデータベース構造をブラウザで可視化するERダイアグラムビューアー
Laravelプロジェクトが大規模になると、データベースのテーブル間のリレーションを把握するのが難しくなります。「どのテーブルがどのテーブルと関連しているか」を確認するたびにDBクライアントを開いたり、マイグレーションファイルを読み返したりしていませんか?Laravel Trussはその手間を解消する、Laravelアプリに組み込むタイプのリアルタイムERダイアグラムビューアーです。
Laravel Trussとは?マイグレーション不要でERダイアグラムをブラウザ表示するDevTool
Laravel Trussは、albertoarena氏が開発したLaravel専用のデータベース構造ビューアーです。既存のLaravelアプリに composer require するだけで、/truss エンドポイントにブラウザでアクセスしてスクロール・ズーム可能なERダイアグラムを表示できます。
重要な設計思想として、構造のみを読み取り、行データには一切アクセスしません。テーブル・カラム・インデックス・外部キーの情報のみを収集するため、セキュリティ上のリスクが低く、本番環境での利用も想定した設計になっています。
主な特徴
- ライブダイアグラム: マイグレーション実行後に自動でスキーマを再取得し最新状態を反映
- フォーカスモード: 特定のテーブルと外部キーで繋がるテーブルだけを中央にハイライト
- スキーマDiff: 前回のマイグレーション以降に何が変わったかをダッシュボードとCLIで確認
- エクスポート: PNG・SVG・JSON・CSV・Markdown・DBMLに対応
- オフライン動作: MermaidとフォントがパッケージにベンダーされているためCDN不要
動作要件
| 項目 | 要件 |
|---|---|
| PHP | 8.3以上 |
| Laravel | 12以上 |
| セットアップ | サービスプロバイダーは自動検出(publish不要) |
Laravel Trussの主な機能
リアルタイムERダイアグラム(Mermaid描画)
ダイアグラムの描画にはMermaidを使用しています。テーブル名やカラム型でフィルタリングでき、「LaravelスタイルのラベルでカラムをBigIncrements等と表示する」モードと「ネイティブDB型のint(10)等で表示する」モードを切り替えられます。ライトの「ブループリント」テーマとダークテーマが用意されており、チームの好みに合わせて選択可能です。
フォーカスモードでは、調査したいテーブルを選択するとそのテーブルと外部キーで繋がっているテーブルのみが画面中央にハイライトされます。50テーブル以上の大規模スキーマでも目的のリレーションを素早く把握できます。
スキーマDiff機能(v1.4.0で追加)
最新バージョン(v1.4.0、2026年7月29日リリース)で追加されたスキーマDiff機能が特に強力です。マイグレーション実行後に前回のスキーマとのDiffをダッシュボード上で確認できます。
# CI/CDや手動確認に使えるターミナルコマンド
php artisan truss:diff
追加・削除・変更されたテーブル・カラム・インデックス・外部キーを一覧で表示します。TRUSS_DIFF_ENABLED=false でこの機能をオフにすることも可能です。
複数データベース接続(マルチDB対応)
同一のLaravelアプリが複数のデータベース接続を持つ場合(メインDBとモジュールDB等)、設定ファイルに接続を列挙するだけでダッシュボードの接続ピッカーから切り替えられます。
// config/truss.php
'connections' => [
'mysql' => [],
'modules' => ['excluded_tables' => ['module_jobs']],
],
インストール・クイックスタート(Laravel ERダイアグラム 自動生成 ブラウザ表示)
インストール
# 開発環境のみで使う場合(本番にデプロイされない)
composer require albertoarena/laravel-truss --dev
# ステージング・本番環境でも使う場合
composer require albertoarena/laravel-truss
サービスプロバイダーは自動検出されるため、追加の設定は不要です。
ダッシュボードへのアクセス
# デフォルトはlocal環境のみ有効
http://your-app.local/truss
本番・ステージング環境で使用する場合は、viewTruss ゲートに認可ロジックを追加する必要があります。詳細は公式ドキュメントを参照してください。
ライブデモで試す
インストール前に試したい場合は、公式デモサイト でパン・ズーム・エクスポートを体験できます。
phpMyAdminやSQLクライアントとの違い・なぜ今このツールか
従来のデータベース可視化ツールとの最大の違いはLaravelアプリに直接組み込まれる点です。TablePlusやDBeaver等のSQLクライアントはDB接続情報を別途設定する必要がありますが、Trussはサービスプロバイダーとして自動登録されるため、開発環境をセットアップするだけで使えます。
phpMyAdminや他のER図生成ツールと比べて、スキーマDiff機能とフォーカスモードがユニークな強みです。特にチームで開発している場合、「今回のPRでスキーマが何処変わったか」をブラウザ上で視覚的に確認できる点は、コードレビューの品質向上に直結します。
Laravelエコシステムにおけるデータベース可視化ツールとしては beyondcode/laravel-er-diagram-generator が知られていますが、Trussはブラウザ上でのインタラクティブ操作(パン・ズーム・フォーカス)とリアルタイムのスキーマ同期に特化した差別化を図っています。
こんな人に向いている
バックエンドエンジニア(Laravel担当)
マイグレーションファイルの積み重ねでスキーマが複雑化したプロジェクトで、「この外部キーがどこに繋がっているか」を素早く把握したい場面で重宝します。php artisan truss:diff をCI/CDパイプラインに組み込めば、スキーマ変更のレビューを自動化できます。
テックリード・アーキテクト
新規メンバーのオンボーディング時にデータベース設計を説明する際、Trussのダッシュボードを画面共有するだけでビジュアルに構造を伝えられます。エクスポートしたDBMLやMarkdownデータ辞書は技術ドキュメントとしてそのまま流用できます。
QAエンジニア・データベース管理者
テスト環境と本番環境のスキーマが一致しているかを truss:diff で確認したり、複数接続機能でシャーディングされたDBの構造を一元管理したりするユースケースに向いています。
使う前に知っておきたいこと
- PHP 8.3・Laravel 12以上が必須: 比較的新しいバージョンが要件です。既存プロジェクトのバージョンを事前に確認してください。
- デフォルトはlocal環境のみ有効: 本番に誤って公開するリスクが低い設計ですが、ステージングで使う場合は意図的に有効化が必要です。
- スキーマDiffファイルがディスクに書き込まれる:
truss/baselines/{connection}.jsonが生成されます。.gitignoreへの追加を推奨します。不要な場合はTRUSS_DIFF_ENABLED=falseで無効化できます。 - スター数は64(2026年7月時点): まだ知名度が低い新興ツールです。活発に開発されており(2026年7月29日に3つのバージョンがリリース)、今後の成長が期待されます。
- ライセンス: MIT Licenseのため商用利用可能です。
まとめ:Laravelプロジェクトのスキーマ把握を劇的に楽にするツール
Laravel Trussは、composer require だけでLaravelアプリにERダイアグラムビューアーを追加できる実用的なDevToolです。特にスキーマDiff機能とマルチDB接続対応は、中規模以上のチームでの開発効率を大きく改善します。スター数はまだ少ないものの、機能・品質・ドキュメントのレベルは高く、Laravelエンジニアに積極的にお勧めできます。
関連ツール・おすすめサービス
Laravelアプリのデプロイや本番環境の運用には、開発者向けクラウドサービスもご活用ください。
- DigitalOcean — 開発者向けクラウド・App PlatformでLaravelアプリをかんたんデプロイ
この技術を学ぶ
LaravelやPHP開発に興味を持った方には、Udemyのオンラインコースもおすすめです。
- 🎓 関連するDevToolコース一覧 — セール時(最大90%OFF)を狙うとお得です
関連記事
この記事が役に立ったらシェアしてください