#!/bin/bash
# Déploiement new.vulcanaffutage.com — à lancer depuis ~/new-v2
# Usage : ./deploy.sh            (pull + install + migrations + cache)
#         ./deploy.sh --fixtures (idem + rechargement des fixtures = PURGE la base)
#
# Le site tourne en APP_ENV=prod (voir .env.local) : pas de profiler, cache
# compilé. Les fixtures restent utilisables, mais via une bascule explicite
# en dev — DoctrineFixturesBundle n'est chargé qu'en dev/test.
set -e
cd "$(dirname "$0")"
PHP=/usr/local/php8.4/bin/php
COMPOSER=$HOME/composer

echo '==> git pull'
git pull --ff-only

echo '==> composer install'
COMPOSER_MEMORY_LIMIT=-1 $PHP $COMPOSER install --no-interaction --optimize-autoloader

echo '==> migrations'
$PHP bin/console doctrine:migrations:migrate --no-interaction --allow-no-migration

if [ "$1" = '--fixtures' ]; then
  echo '==> fixtures (PURGE de la base vulcanskylianv2)'
  APP_ENV=dev APP_DEBUG=1 $PHP bin/console doctrine:fixtures:load --no-interaction
  # Le cache dev créé au passage ne sert pas au site.
  rm -rf var/cache/dev
fi

echo '==> cache'
$PHP bin/console cache:clear --no-interaction
$PHP bin/console cache:warmup --no-interaction

echo "==> OK — https://new.vulcanaffutage.com (APP_ENV=$($PHP bin/console about --no-interaction 2>/dev/null | grep -m1 -oE 'prod|dev'))"
