Skip to content

Priom7/laravel2erd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel2ERD

npm npm downloads License: MIT Node.js Made with ❤️ by Priom7

A CLI tool that automatically generates Entity-Relationship Diagrams (ERD) for Laravel applications using model analysis.


📦 Installation

npm install @priom7/laravel2erd

Or use it directly with npx:

npx @priom7/laravel2erd

🚀 Features

  • 📊 Automatically analyze Laravel models to generate ERDs
  • 🔍 Detect table names, attributes, and data types
  • 🔄 Map relationships (One-to-One, One-to-Many, Many-to-Many)
  • 🖼️ Interactive web-based diagram viewer with zoom controls
  • 💾 Export diagrams as SVG for documentation

🖥️ Usage

Basic usage

npx laravel2erd

Custom options

npx laravel2erd \
  --output public/docs/erd \
  --models app/Models \
  --title "My Project ERD"

Once generated, you can view your ERD diagram in the browser at:

http://your-app-url/laravel2erd

⚙️ Options

Option Description Default
-o, --output Output directory for ERD public/laravel2erd
-m, --models Directory containing Laravel models app/Models
-r, --relations Include relationships between models true
-t, --title Title of the diagram Laravel ERD Diagram

🧠 How It Works

Laravel2ERD performs static analysis on your Laravel model files to extract:

  1. Table structure: Names, columns, and types
  2. Attributes: From fillable arrays and casts
  3. Relationships: Using Eloquent methods like hasOne, belongsTo, etc.

It then compiles this information into a clean Mermaid.js diagram rendered in a browser interface.


🖼️ Sample Output

Laravel2ERD Sample Output


📋 Example Model

// app/Models/User.php
class User extends Model
{
    protected $fillable = [
        'name', 'email', 'password',
    ];
    
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];
    
    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}

🧩 This model will be visualized with all attributes and relationships in the ERD diagram.


📄 License

Licensed under the MIT License.


👤 Author

Made with ❤️ by @priom7


🌟 If you find this package useful, please consider starring the repo to show your support!

About

Automatically generate ERD diagrams for Laravel applications

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published