Migraciones en Laravel 10

Migraciones en Laravel 10

Hola, ¿Cómo están? Continuando con el curso de Laravel 10, hoy veremos lo que son las migraciones en Laravel 10.

Migraciones en Laravel

Las migraciones en Laravel son una forma de definir la estructura de nuestra base de datos mediante código (en lugar de hacerlo de forma manual a través de un administrador de base de datos), las migraciones nos permiten crear, modificar y eliminar las tablas, columnas, índices y sus relaciones entre ellos.

El esquema de migraciones nos permite definir la estructura de la base de datos independientemente del motor de base de datos que estemos utilizando (MySQL, PostgreSQL, SQLite, etc.) y lo mejor de todo nos permite compartir con el equipo de desarrollo.

Desplegar tu proyecto Laravel a producción

Adquiere la guía en formato PDF

Configurar la base de datos

Antes de generar las migraciones debemos crear y configurar nuestra base de datos, en el administrador de MySQL que estemos utilizando debemos crear la base de datos, en mi caso es “curso_db”.

Seguidamente, en el archivo de entorno .env realizamos la configuración para la conexión con la base de datos creada. (la configuración dependerá del motor de base de datos que estemos utilizando en mi caso es MySQL).

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=curso_db
DB_USERNAME=root
DB_PASSWORD=

Generar una migración

En Laravel para crear una migración se debe de utilizar el siguiente comando de Artisan:

php artisan make:migration create_products_table

Este comando creará una clase de PHP en el directorio /database/migrations con el nombre que le hemos asignado (por convención al crear las tablas de la datos deben de estar en plural).

Crear migraciones en Laravel

Si analizamos la clase creada veremos que genera dos métodos, el método Up()  y el método Down().

El método Up() se encarga de generar las migraciones, esto quiere decir que al momento de correr las migraciones genera todo el esquema de nuestra base de datos. Por defecto ya viene con dos campos, el campo “id” que es la llave principal de la tabla “Products” y el campo “timestamps” que se encarga de generar las columnas “created_at” que registrar la fecha y hora donde se creó el registro y “update_up” donde se registra la fecha y hora donde se actualizó el registro.

El método Down() es el proceso contrario, cuando se ejecuta revierte todos los cambios aplicados en esa migración y vuelve a un estado anterior.

Definir las columnas de la tabla

Ahora crearemos las columnas para nuestra tabla “Products”, de acuerdo al tipo de dato de cada uno de nuestros campos (los más utilizados son: string, integer, text, decimal, boolean, etc. para mayor detalle puedes visitar la página oficial de Laravel).

$table->integer('code');
$table->string('name', 35);
$table->text('description')->nullable();
$table->decimal('price', 10, 2);
$table->boolean('status')->default(true);

Datos a considerar:

  • Al crear cada campo por defecto es obligatorio, la palabra reservada nullable es para especificar que el campo permita datos nulos.
  • La palabra reservada default es para especificar que el campo por defecto tomará el valor asignado cuando se envíe vacío o nulo.
  • Cuando declaramos el campo de tipo string podemos especificar la cantidad de caracteres.
  • Cuando declaramos el campo de tipo decimal especificamos la cantidad de caracteres y el número de decimales que contendrá el dato.

Ejecutar las migraciones

Una vez creado y llenado nuestras migraciones, debemos ejecutar para poder generar el esquema de nuestra base de datos, para esto utilizamos el siguiente comando de Artisan.

php artisan migrate

Comienza el proceso de generar todas las migraciones creadas.

Ejecutar las migraciones en Laravel

Si observamos el administrador de base de datos de MySQL podemos observar que se generó correctamente las tablas en la base de datos “curso_db”.

Generar tablas en Laravel

De momento es todo, con lo aprendió hoy podrás crear y ejecutar las migraciones de tus proyectos, nos vemos la siguiente.

Saludos y éxitos.

Desplegar tu proyecto Laravel a producción

Adquiere la guía en formato PDF

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *