Migraciones de Laravel: Herramientas ahorro de tiempo

migraciones de Laravel

Herramientas de ahorro de tiempo de Laravel: modelos, migraciones, fábricas y sembradoras

Acelerar el desarrollo con migraciones de Laravel


Introducción

Desde Laravel 4, he estado creando migraciones para administrar cambios en la base de datos en varios sistemas como Postgres, MySQL, MariaDB y MSSQL. Si bien ha habido mejoras para agregar fábricas y sembradoras, he sido propenso a ejecutar varios comandos para crear estos archivos. Definamos una migración de Laravel.

Una migración de Laravel es una forma de administrar los cambios de la base de datos, como crear o modificar tablas, de manera estructurada y organizada. Cada archivo de migración representa un único conjunto de cambios.

  • Laravel también proporciona comandos para ejecutar o revertir migraciones. Esto permite a los desarrolladores:
    • modificar fácilmente el esquema de la base de datos y compartir
    • aplicar esos cambios en diferentes entornos e instancias.

Un escenario de la vida real

Su jefe o cliente se acerca a usted con un pequeño proyecto en el que se debe crear un sistema de afiliados y requerirá tablas de affiliates y leads potenciales. Los afiliados son un tipo de usuarios. por lo que tendrán una tabla de affiliates dedicada y tendrán una relación externa con la tabla de users. Los afiliados:

  • Pueden referir a otros al sistema mediante un formulario de clientes potenciales en el sitio web de front-end.
  • Realizarán un seguimiento de los afiliados utilizando URL únicas que contienen un enlace de referencia de afiliado para atribuir el cliente potencial correctamente.

El formulario de front-end le pedirá el nombre y la dirección de correo electrónico del cliente potencial. Cuando un prospecto ingresa su información, su nombre y dirección de correo electrónico se almacenarán en la tabla de leads con una relación con el afiliado en la tabla de affiliates. Cuando los afiliados inicien sesión en su portal, verán una sección de Clientes potenciales que enumera todos los clientes potenciales que refirieron.

Esta simple idea requerirá la migración de dos tablas en nuestra base de datos de affiliates y leads. También necesitamos un modelo para que las tablas interactúen con los registros en las tablas de nuestra aplicación.

También es conveniente crear fábricas y sembradoras. Esto ayudará a generar afiliados y clientes potenciales al instante en la base de datos. He encontrado esto invaluable desde una perspectiva de desarrollo. Se pueden usar para sembrar una base de datos rápidamente para tener datos con los que trabajar en el front-end o durante las pruebas automatizadas. Una forma tradicional de realizar esta tarea es hacer algo como esto.

Creación de migraciones, modelos, factorías y sembradores

Primero, realice las migraciones para las tablas de affiliatesleads potenciales en la base de datos.

php artisan make:migration add_affiliates_table
php artisan make:migration add_leads_table

Asegúrese de tener en cuenta las claves externas. Por ejemplo, la tabla de  leads potenciales tiene una clave externa affiliate_id que hace referencia a la tabla de affiliates. Debido a esta relación externa, no puede crear la tabla de leads potenciales antes que la tabla de affiliates. Ahora, vamos a hacer los modelos.


Gracias por llegar hasta aquí, si encuentras esto útil no olvides dejar un👍🏼y suscribirse para recibir más contenido.

Si le interesa, puede echar un vistazo a algunos de los otros artículos que he escrito recientemente sobre Node.js y AWS Lambda:

Recent Post