Base de datos y migraciones en Laravel

Base de datos y migraciones en Laravel

¡Hola a todos! ¿Cómo están? ¡Bienvenidos nuevamente al curso de Laravel 10! En esta clase, veremos uno de los componentes más importantes, la gestión de la base de datos y las migraciones en Laravel.

¡Empecemos!

Base de datos (Database)

La base de datos es un aspecto muy importante de cualquier aplicación para almacenar grandes cantidades de información. Una base de datos es un conjunto organizado de datos estructurados y relacionados entre sí, que se almacenan y gestionan de manera que se puedan acceder, actualizar, agregar y eliminar información de forma eficiente.

Desplegar tu proyecto Laravel a producción

Adquiere la guía en formato PDF

Migraciones de base de datos en Laravel

Laravel nos proporciona  las migraciones (migration) que es una funcionalidad que facilita la manipulación de la estructura de la base de datos de manera controlada y versionada. Ofrece soporte para varios sistemas de gestión de bases de datos, como MySQL, PostgreSQL, SQLite, SQL Server, entre otros.

Crear una base de datos

Para crear una base de datos en Laravel. Primeramente, abrimos el panel de control de Xampp e iniciamos el servidor de Apache y MySQL (si utilizas otro servidor los servicios de apache y MySQL deben de estar iniciados).

Seguidamente, en nuestro navegador Chrome escribimos lo siguiente: http://localhost:8080/phpmyadmin/. Nos mostrará la pantalla principal de PhpMyAdmin

Hacemos clic en la opción “Nueva”,  nos mostrará la opción de “crear base de datos” para nuestro ejemplo el nombre de la base de datos será “curso_de_laravel”. Por último, hacemos clic en el botón “Crear”.

Crear base de datos MySQL Laravel

Ahora abrimos nuestro proyecto con  Visual Studio Code o nuestro IDE favorito en la siguiente ruta: C:/xampp/htdocs/curso-laravel

Archivo de configuración .env

En el directorio principal encontramos el archivo .env donde realizaremos las configuraciones de nuestra base de datos, en el campo DB_DATABASE colocamos el nombre de la base de datos creada en nuestro caso “curso_de_laravel”.

Las demás configuraciones de la base de datos las dejamos por defecto, usuario “root”  y el password vacío (en caso de que su base de datos cuente con usuario y contraseña se debe ingresar esos datos), guardamos los cambios.

Archivo de configuración env Laravel

Siempre que realices un cambio en Visual Studio Code debes guardar los cambios con CTRL + S para reflejar los cambios en tu aplicación.

¿Qué son las migraciones en laravel?

Las migraciones en Laravel son una forma de definir los cambios en la estructura de la base de datos de manera controlada. En sí, son archivos de PHP que se encuentran en el directorio “database/migrations”. Cada archivo de migración contiene un conjunto de instrucciones para crear, modificar o eliminar tablas y columnas de la base de datos.

Crear migraciones en laravel

Para crear migraciones en Laravel utilizaremos Artisan (interfaz de línea de comandos de Laravel). Para crear la una migración para la tabla “Alumnos” ejecutamos la siguiente línea de comandos:

php artisan make:migration create_alumnos_table
Crear una migración en Laravel

Esto creará un nuevo archivo de migración en el directorio “database/migrations”, Laravel asigna automáticamente un nombre de archivo con un timestamp seguido del nombre que le fue asignado en nuestro caso “alumnos”, asegurando que las migraciones se ejecuten en el orden en que fueron creadas.

Ahora crearemos las columnas de nuestra tabla “Alumnos”, aquí es donde la clase “Blueprint” nos permite manipular las consultas como objetos, en nuestro ejemplo crearemos cuatro campos: nombre, apellido, edad y dirección.

$table->string('nombre');
$table->string('apellido');
$table->integer('edad');
$table->string('direccion');
Una migración de base de datos Laravel

La función up() de la migración

La función “Up” define la estructura de la tabla y crea la tabla “Alumnos” con los campos especificados al ejecutar las migraciones. El método Schema::create() se encarga de crear la tabla en la base de datos con los campos y sus tipos de datos correspondientes.

La función down() de la migración

La función “down” define cómo revertir la migración en caso de que necesitemos deshacer los cambios. En este caso, simplemente eliminamos la tabla “Alumnos” si la migración es revertida.

Ejecutar las migraciones en Laravel

Una vez llenados los campos necesarios en nuestras tablas, ejecutamos las migraciones con el siguiente comando de artisan:

php artisan migrate
PHP artisan migrate Laravel

Artisan automáticamente ejecutará la migración y creará la tabla “alumnos” con los campos especificados en la base de datos.

Subir nuestro proyecto a GitHub

GitHub es un servicio basado en la nube gratuito que te permite gestionar tus proyectos y controlar versiones de código en un repositorio. Ahora crearemos un repositorio en GitHub para subir nuestro proyecto de Laravel.

Crear repositorio GitHub Laravel

Ahora nos toca subir nuestro proyecto local de “curso-laravel” al repositorio de la nube, utilizaremos Git para este propósito. En el directorio raíz de nuestro proyecto “curso-laravel” iniciamos git ejecutando el siguiente comando:

git init

Añadimos todos los archivos de la carpeta para guardarlos en una primera versión en el repositorio.

git add -A

Con el comando commit añadimos el registro de cambios dentro del proyecto.

git commit -m "Curso de Laravel basico"

Iniciamos la rama principal “Main” donde se subirá el proyecto.

git branch -M main

Enlazamos nuestro proyecto local con el repositorio de la nube.

git remote add origin https://github.com/NorvicSoftware/curso_de_laravel_basico.git

Por último, subimos el proyecto al repositorio de GitHub.

git push -u origin main

De esta forma, Git envía todos los cambios locales que se realizaron a el repositorio “curso_de_laravel_basico” en la dirección de https://github.com/NorvicSoftware/curso_de_laravel_basico

Ejercicios sobre migraciones en Laravel

Crear la tabla publicaciones (artículos) con los siguientes detalles:

  • Que contenga campos como Título, Fecha publicación, género.
  • Realizar la referencia con la clase “Alumnos”, teniendo en cuenta la relación muchos a uno (un alumno tiene muchas publicaciones, una publicación pertenece a un alumno).
  • Ejecutar las migraciones para crear la tabla “Publicaciones”.

Este es solo un ejemplo básico de una migración en Laravel. Las migraciones pueden ser mucho más complejas que permitan realizar cambios adicionales en la estructura de la base de datos, como agregar índices, claves foráneas, entre otros. Si tienes dudas o comentarios de la base de datos y migraciones en Laravel 10 escríbenos para aclarar tus dudas. Ahora vamos a la siguiente clase, veremos lo que son los Modelos y Eloquent ORM.

Saludos y éxitos.

Victor Peña

Victor Peña

Desarrollador de software Backend Developer, experto en Laravel Framework, PHP, JavaScript y MySQL. Creador de contenidos de emprendimiento y desarrollo de software.

Deja un comentario

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