#!/bin/bash
# Exit immediately if any command exits with a non-zero status.
set -e

# Reset the database and migrations.
echo "Resetting database and migrations..."
docker compose down \
  && docker volume prune -af \
  && find . -path "*/migrations/00*.py" -delete \
  && docker compose up -d

# Wait for the database to be ready.
echo "Waiting for the database to be ready..."
sleep 10

echo "Running makemigrations..."
uv run python manage.py makemigrations

echo "Running migrations..."
uv run python manage.py migrate

echo "Loading seed data..."
uv run python manage.py loaddata seed/0*

echo "Creating cache table..."
uv run python manage.py createcachetable

echo "Seeding default friend codes..."
uv run python manage.py seed_default_friend_codes