2025-03-11 00:21:04 -06:00

56 lines
2.1 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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