#!/bin/bash

# Salir inmediatamente si un comando falla
set -e

echo "--> Ejecutando migraciones..."
# Esto asegura que si hay cambios en models.py, se generen y apliquen las tablas
python manage.py makemigrations --noinput
python manage.py migrate --noinput

echo "--> Cargando datos de prueba..."
# Este comando busca archivos JSON en las carpetas 'fixtures' de tus apps
# Usamos || true para que si el archivo no existe o ya están cargados, el contenedor no se detenga
python manage.py loaddata semillas || echo "Aviso: No se pudieron cargar las semillas (fichero no encontrado o error de formato)."

echo "--> Arrancando el servidor Django..."
# Usamos exec para que Django sea el proceso principal (PID 1) y reciba señales de Docker
exec python manage.py runserver 0.0.0.0:8000