02 💻 Curso Laravel Multi-Idiomas: Conexión a Base de Datos e Instalación de Paquetes 🛠️

Duración: 12 min
Módulo: Presentación, instalación y configuración de paquetes en laravel Lección 2 de 4

Descripción

🛠️ Lección 02: Conexión a Base de Datos e Instalación de Paquetes 🗄️🌐

En este segundo capítulo configuramos el motor del sistema enlazando Laravel 13 con MySQL e instalando el ecosistema de dependencias clave. La gran ventaja es que no crearemos tablas secundarias para las traducciones; todo se procesará de forma inteligente mediante campos JSON y URLs localizadas dinámicamente.

🎯 Lo realizado en este capítulo

  • 🔌 Conexión MySQL: Modificamos el archivo .env para cambiar la conexión por defecto de SQLite a MySQL [02:05]. Creamos la base de datos refugio en phpMyAdmin [02:58] y ajustamos el motor de almacenamiento predeterminado a InnoDB en el archivo config/database.php para asegurar la compatibilidad con el servidor local [04:36].
  • 🚀 Primeras Migraciones: Ejecutamos el comando maestro php artisan migrate para impactar la base de datos [05:14]. El framework levantó con éxito las primeras 9 tablas estructurales del sistema (usuarios, sesiones, tokens, fallas de jobs, etc.) [05:44].
  • 🧭 Rutas Localizadas (i18n): Instalamos y publicamos el paquete laravel-localization de mcamara [06:47]. Este componente controlará los prefijos de idioma en la URL (ej. /es para español, /en para inglés) y guardará la selección en las cookies del navegador [01:12].
  • 🧠 El Cerebro de la Traducción: Instalamos el paquete laravel-translatable de Spatie [10:20]. Este será el encargado de gestionar de forma fluida la inserción, persistencia y lectura de los campos multi-idioma mapeados directamente en formato JSON dentro de una sola tabla de MySQL [00:51].

🗄️ Próximo paso

Con nuestro entorno conectado y el arsenal de paquetes multi-idioma instalado, estamos listos para la siguiente fase: estructurar los modelos, crear nuestras propias migraciones adaptadas para mascotas y comenzar con la integración de la interfaz visual AdminLTE. ¡Nos vemos en la siguiente lección! 🐾