#!/bin/bash # Definir colores ANSI YELLOW='\033[1;33m' # Amarillo brillante BLUE='\033[44m' # Fondo azul con texto blanco WHITE='\033[1;37m' # Texto blanco brillante GREEN='\033[1;32m' # Verde brillante RED='\033[1;31m' # Rojo brillante RESET='\033[0m' # Reset de color # Verificar si .env existe y crearlo si no está presente if [ ! -f ".env" ]; then cp .env.example .env echo -e "\n✅ Archivo .env creado a partir de .env.example\n" else echo -e "\n⚠️ El archivo .env ya existe, no se sobrescribirá.\n" fi # Generar APP_KEY solo si no está definida echo -e "🔑 Verificando clave de aplicación..." if ! grep -q "^APP_KEY=" .env || grep -q "^APP_KEY=$" .env; then echo -e " ➡️ Generando nueva APP_KEY..." php artisan key:generate --ansi else echo -e " ✅ APP_KEY ya está definida, no se regenerará.\n" fi # Crear enlace simbólico para almacenamiento echo -e "🔗 Creando enlace de almacenamiento..." php artisan storage:link # Verificar si la base de datos está configurada en .env DB_READY=false if grep -q "^DB_HOST=" .env && grep -q "^DB_DATABASE=" .env && grep -q "^DB_USERNAME=" .env && grep -q "^DB_PASSWORD=" .env; then echo -e "\n🔍 Verificando conexión a la base de datos..." # Intentar obtener el estado de las migraciones if php artisan migrate:status --no-interaction > /dev/null 2>&1; then echo -e " ${GREEN}✅ Conexión a la base de datos exitosa.${RESET}\n" DB_READY=true else echo -e " ${RED}❌ No se pudo conectar a la base de datos.${RESET}\n" fi else echo -e " ${RED}⚠️ La configuración de la base de datos en .env está incompleta.${RESET}\n" fi # Mensaje final con colores if [ "$DB_READY" = false ]; then echo -e "${YELLOW}⚠️ IMPORTANTE:${RESET} Debes configurar la base de datos en .env antes de continuar." echo -e " Para inicializar la base de datos, ejecuta:\n" echo -e " ${WHITE} php artisan migrate:fresh --seed ${RESET}\n" else echo -e "${GREEN}🎉 La base de datos ya está configurada correctamente.${RESET}\n" fi