@priom7/laravel2erd
v1.0.3
Published
Automatically generate ERD diagrams for Laravel applications
Maintainers
Readme
Laravel2ERD (V2 avaiable here: https://github.com/Priom7/laravel2doc)
A CLI tool that automatically generates Entity-Relationship Diagrams (ERD) for Laravel applications using model analysis.
📦 Installation
npm install @priom7/laravel2erdOr 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 laravel2erdCustom 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:
- Table structure: Names, columns, and types
- Attributes: From
fillablearrays andcasts - 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
📋 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!
