Repo-lab
開発ツール

Laravel Trussとは?Laravelのデータベース構造をブラウザで可視化するERダイアグラムビューアー

⭐ 64 stars GitHub →

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のオンラインコースもおすすめです。

毎日更新のGitHubツール情報

LINEで受け取って最新情報をキャッチアップしよう

友達追加する(無料)

関連記事

この記事が役に立ったらシェアしてください