はじめに
IT開発に従事している方は、ご存知かもしれませんが、大半のプロジェクトで開発仕様書が形骸化あるいは存在しないことがよく発生します。
仕様書の1つとしてER図が存在しますが、こちらは初期に作成されていても更新されず、実際のDB構造と乖離していることがほとんどです。結果として、現状のマイグレーションファイルしか信頼に足らず、マイグレーションや実際のテーブルを1つずつ読み解いてDB構造を理解する必要があります。
確かに「コードを更新したらER図も同期して更新する」べきです。
しかし、緊急性が低いタスクは後回しになりがちで、気づけば実態と完全に乖離したER図だけが残る...
そんな開発現場も多いのではないでしょうか?
そこで、LaravelのマイグレーションとER図(PlantUML)の双方向同期を可能にする機能をLACに追加しました。
LACの詳細やインストール手順については前回の記事をご覧下さい。
https://qiita.com/ChikauKume/items/fe29f6a9039632e91432
これにより、常に最新ソースコード基準でERを1コマンドで作成できますので、管理工数をなくした上で資料管理・作成が可能となります。もちろん開発仕様書の中には、画面遷移や基本設計書など様々なものが存在しますが、一旦ER図があればシステムとして一番重要なデータの流れの把握に役立つと思い、今回機能を作成いたしました。
実際の使い方
# ER図 → マイグレーションの場合
1. puml形式でファイルを作成し、storage/app/db/diagramsに配置
2. 下記コマンドを実行
php artisan lac:gen-migration
3. database/migrations 配下にマイグレーションファイルが生成される
# マイグレーション → ER図の場合
1. マイグレーションファイルを作成
2. 下記コマンドを実行
php artisan lac:gen-diagram
3. storage/app/db/diagrams/generated 配下に.pumlファイルが生成
実際の挙動についてご確認したい方は下記から閲覧可能です。
https://github.com/ChikauKume/laravel-arsenal-core/blob/main/README.ja.md
おわりに
前回のScaffold機能などと併用することで開発効率をかなり上げることができますので、是非使ってみて下さい。
📝 フィードバック・要望
ご要望や改善案につきましては、下記GitHubのIssuesからお気軽にお寄せください。
👉 https://github.com/ChikauKume/laravel-arsenal-core/issues
この記事が役に立った方は、ぜひいいね!やコメント、シェアをお願いします。