¡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.
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”.
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.
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
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.
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
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.
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.
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
Desarrollador de software Backend Developer, experto en Laravel Framework, PHP, JavaScript y MySQL. Creador de contenidos de emprendimiento y desarrollo de software.