Banner generar diagramas de entidad relación con Laravel

En este tutorial aprenderemos cómo generar diagramas Entidad Relación instalando un paquete llamado Laravel ER Diagram Generator, el cual inspeccionando las relaciones definidas en los modelos de nuestro proyecto Laravel el paquete podrá construir el diagrama.

Requerimientos

Para utilizar el paquete necesitamos tener la herramienta Graphviz instalada en nuestro sistema operativo. Esta herramienta es un software para la visualización de los gráficos.

La instalación en Mac es muy sencilla solo debemos requerir la herramienta con Homebrew ejecutando el comando:

brew install graphviz

Para Windows se tiene un instalador en la página oficial de la herramienta, específicamente en la sección de Paquetes para Windows.

Finalmente, en caso de poseer alguna distribución de Linux debemos dirigirnos a la sección Descargas y seleccionar nuestra distribución.

Instalación del paquete

La instalación la hacemos mediante Composer colocando el siguiente comando en nuestra terminal:

composer require beyondcode/laravel-er-diagram-generator --dev

En caso de poseer una versión de Laravel 5.5 o superior es registrado de forma automáticamente el Service Provider. Si por el contrario posees una versión menor debes registrarlo en el archivo config/app.php.

Generar Diagramas

Una vez instalado el paquete es muy fácil generar los diagramas gracias a que tenemos un nuevo comando disponible. Para generar un nuevo diagrama ejecutamos el comando:

php artisan generate:erd

Una vez ejecutado tendremos una imagen llamada graph.png donde se mostrará el diagrama Entidad Relación de nuestro proyecto. En caso de querer cambiar el nombre de la imagen al generarlo lo especificamos en el comando de esta forma:

php artisan generate:erd diagrama-er.png

Si deseas cambiar el formato el cual por defecto es PNG, puedes cambiarlo haciendo la especificación en el comando. También puedes ver la lista de formatos soportados por el paquete.

php artisan generate:erd diagrama.jpg --format=jpg

Esta es una gráfica generada tomando como ejemplo la comunidad Laravel.io:

Diagrama Entidad Relación de Laravel.io

Configuración adicional del paquete

Por defecto, el paquete detecta todos los modelos ubicados dentro de la carpeta app de nuestra aplicación. Si quieres cambiar esto o algunas otras cosas debemos publicar el archivo de configuración del paquete, el cual será copiado a la carpeta config cuando ejecutemos el siguiente comando:

php artisan vendor:publish --provider=BeyondCode\\ErdGenerator\\ErdGeneratorServiceProvider

Dentro del archivo config/erd-generator.php podemos cambiar algunos valores, a continuación te muestro un listado:

  • Definir la ubicación de los modelos en el arreglo de la llave directories.
  • Ignorar modelos específicos.
  • Activar o no el escaneo recursivo de los modelos.
  • Utilizar la base de datos para especificar las columnas de cada modelo.
  • Mostrar el tipo de cada columna en el diagrama.
  • Cambiar los colores de cada tabla en el arreglo de la llave table.
  • Variedad de opciones de las gráficas que pueden ser cambiadas como: estilo, fuente, tamaño de la fuente, color de fondo, etc.
  • Podemos cambiar el color de las relaciones, la dirección y más.

Con esto terminamos, si quieres conocer más sobre esta herramienta puedes visitar el repositorio oficial del paquete. En caso de tener alguna duda o sugerencia puedes hacerla a través de los comentarios.

Si te gustó esta publicación por favor compártelo en tus redes. Síguenos en Twitter para obtener más tips y tutoriales útiles.

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.