56 lines
2.1 KiB
Bash
Executable File
56 lines
2.1 KiB
Bash
Executable File
#!/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
|