【Laravel11】ERD作成パッケージ

Laravel

Laravel Newsで紹介されていましたが、Laravelのサードパーティパッケージである「recca0120/laravel-erd」を使って、LaravelプロジェクトのモデルからERDを自動作成できます。

Just a moment...
GitHub - recca0120/laravel-erd: Laravel ERD automatically generates Entity-Relationship Diagrams from your Laravel models and displays them using erd-editor.
Laravel ERD automatically generates Entity-Relationship Diagrams from your Laravel models and displays them using erd-ed...

前提条件

  • Laravel11を使っていきます(laravel-erdの対応バージョンは8以降)
  • PHP8.3を使っていきます(laravel-erdの対応バージョンは7.4以降)
  • Ubuntuで作業していきます
  • DBはデフォルトのSQLiteを使っていきます
  • Composerインストール済

これからやること

  • Laravel新規プロジェクト作成
  • laravel-erdインストール
  • ERD作成
  • ビルトインサーバー起動
  • ERD表示確認

Laravel新規プロジェクト作成

新規プロジェクト「laravel-erd」を作成していきます。

composer create-project laravel/laravel:^11 laravel-erd

laravel-erd インストール

プロジェクトフォルダに入ってから laravel-erd をインストールします。

cd laravel-erd
composer require recca0120/laravel-erd:^0.1 --dev

ERD作成

次のコマンドでERDを作成します。

php artisan erd:generate

ビルトインサーバー起動

次のコマンドでビルトインサーバーを起動します。

php artisan serve

ERD表示

WEBブラウザで http://localhost:8000/laravel-erd/ にアクセスします。

このように表示されます。

デフォルトで有効なモデルは User だけなのでこれだけですが、

以前の記事で作成したものを使ってみるとこのようになります。

ちょっと見づらいので、「notifications」と「users」を除外したERDを作成してみます。

次のコマンドで「–excludes=」オプションで除外テーブル名をカンマ区切りで羅列します。

php artisan erd:generate --excludes=users,notifications

WEBブラウザをリロードすると表示が更新されます。

ちなみに、各エンティティをマウスでドラッグすることで位置を移動できます。

SVG出力

次のコマンドで erd-gographviz-dot.js をインストールします。

sudo php artisan erd:install

※ダウンロード途中で「cURL error 18: transfer closed with …」のようなエラーが出たら、次のコマンドでpostBufferの上限値を上げてリトライしてください。

git config --global http.postBuffer 524288000

続いてSVGを生成します。

php artisan erd:generate --file=laravel-erd.svg

WEBブラウザで http://localhost:8000/laravel-erd/laravel-erd.svg にアクセスします。

以上です。

  • 0
  • 0
  • 0
  • 0

コメント

タイトルとURLをコピーしました