Download the PHP package rtcoder/laravel-db-erd without Composer
On this page you can find all versions of the php package rtcoder/laravel-db-erd. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download rtcoder/laravel-db-erd
More information about rtcoder/laravel-db-erd
Files in rtcoder/laravel-db-erd
Package laravel-db-erd
Short Description Laravel package to generate database ERD diagrams.
License MIT
Informations about the package laravel-db-erd
Laravel DB ERD Generator
A Laravel package for generating Entity-Relationship Diagrams (ERD) of your database schema. This tool is designed to support multiple database systems like MySQL, PostgreSQL, SQLite, SQL Server, and Oracle.
Features
- Automatically scans your database schema for tables and their relationships.
- Generates ERD diagrams in PDF format using Graphviz.
- Extensible design with support for multiple database drivers.
Installation
Requirements
- PHP 8.1 or higher
- Laravel 10.x or higher
- Graphviz installed on your system
Step 1: Install the package
Step 2: Publish the configuration (optional)
If you need to customize the behavior, publish the configuration file:
If you need to customize the views, you can publish them using:
This will copy the default views to your project's resources/views/vendor/laravel-erd directory, where you can modify them as needed.
Step 3: Install Graphviz
Ensure Graphviz is installed on your system.
On macOS:
On Ubuntu:
On Windows:
Download and install from Graphviz's official site.
Usage
Generate an ERD Run the following Artisan command to generate the ERD:
The --output option specifies the file path for the generated diagram.
Check Graphviz availability
The command verifies that the Graphviz dot binary is available in PATH and prints its detected path and version.
Generate from your application code
You can also resolve the service from the container:
Service usage
The package registers the generator in Laravel's service container, so you can generate diagrams from controllers, jobs, commands, scheduled tasks, tests, or any other application service.
Available bindings:
| Binding | Description |
|---|---|
Rtcoder\LaravelERD\Contracts\ERDGeneratorInterface |
Recommended dependency injection target. |
Rtcoder\LaravelERD\Services\ERDGenerator |
Concrete generator implementation. |
erd-generator |
String alias for quick container resolution. |
Controller example:
Queued job example:
Supported Databases
- MySQL
- PostgreSQL
- SQLite
- SQL Server
- Oracle
Available database drivers are represented by the Rtcoder\LaravelERD\Enums\DatabaseConnection enum. PostgreSQL also accepts postgres, postgresql, and psql aliases.
Supported output formats
- SVG
- PNG
- HTML
Available output formats are represented by the Rtcoder\LaravelERD\Enums\OutputFormat enum.
Configuration
You can customize the package by modifying the configuration file (config/erd.php):
Exceptions
The package exposes concrete exceptions so you can handle generator failures without catching a generic Exception.
| Exception | When it is thrown |
|---|---|
Rtcoder\LaravelERD\Exceptions\UnsupportedOutputFormatException |
The output file extension is not one of pdf, png, svg, or html. |
Rtcoder\LaravelERD\Exceptions\InvalidConnectionNameException |
The selected database driver is not supported. |
Rtcoder\LaravelERD\Exceptions\DirectoryCreationException |
The output directory cannot be created. |
Rtcoder\LaravelERD\Exceptions\TemporaryFileCreationException |
The temporary DOT file for Graphviz cannot be created. |
Rtcoder\LaravelERD\Exceptions\FileWriteException |
The generated DOT or HTML file cannot be written. |
Rtcoder\LaravelERD\Exceptions\GraphvizRenderException |
Graphviz exits with a non-zero status while rendering PDF, PNG, or SVG output. |
Rtcoder\LaravelERD\Exceptions\ViewNotFoundException |
The HTML diagram Blade view cannot be found in the application or package paths. |
Rtcoder\LaravelERD\Exceptions\ERDException |
Base exception for runtime generation failures. |
Example:
Troubleshooting
Graphviz not found error
Ensure Graphviz is correctly installed and the dot binary is available in your system's PATH.
You can check this from Laravel with:
macOS
Ubuntu / Debian
Windows
Install Graphviz from the official download page, or use one of the package manager commands below:
If the command still cannot find dot, restart your terminal and verify that the Graphviz bin directory is included in PATH.
Empty ERD Diagram
Verify that your database schema has relationships (foreign keys).
License
This package is open-source software licensed under the MIT license.