#!/bin/bash

# Script pour créer les tables dans la base de données (preprod / prod).
# Ne contient aucun identifiant en clair : tout vient de deploy-config.sh ou de saisie.
# Usage: ./setup-database.sh [preprod|prod]

set -e

ENV=${1:-preprod}

if [ "$ENV" != "preprod" ] && [ "$ENV" != "prod" ]; then
    echo "❌ Erreur: Environnement invalide. Utilisez 'preprod' ou 'prod'"
    exit 1
fi

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
if [ -f "${SCRIPT_DIR}/deploy-config.sh" ]; then
    source "${SCRIPT_DIR}/deploy-config.sh"
else
    echo "❌ Erreur: Fichier deploy-config.sh introuvable"
    echo "Copiez deploy-config.example.sh vers deploy-config.sh et renseignez les variables (sans les commiter)."
    exit 1
fi

# Identifiants BDD : depuis deploy-config (PREPROD_DB_*) ou saisie
if [ "$ENV" == "preprod" ]; then
    if [ -n "${PREPROD_DB_NAME:-}" ] && [ -n "${PREPROD_DB_USER:-}" ] && [ -n "${PREPROD_DB_PASS:-}" ]; then
        DB_NAME="$PREPROD_DB_NAME"
        DB_USER="$PREPROD_DB_USER"
        DB_PASS="$PREPROD_DB_PASS"
        echo "🚀 Configuration base de données PREPROD (depuis deploy-config.sh)"
    else
        echo "⚠️  Variables PREPROD_DB_NAME, PREPROD_DB_USER, PREPROD_DB_PASS non définies dans deploy-config.sh"
        read -p "Nom de la base preprod: " DB_NAME
        read -p "Utilisateur: " DB_USER
        read -s -p "Mot de passe: " DB_PASS
        echo ""
    fi
else
    echo "⚠️  Configuration base de données PRODUCTION"
    read -p "Nom de la base de données: " DB_NAME
    read -p "Utilisateur: " DB_USER
    read -s -p "Mot de passe: " DB_PASS
    echo ""
fi

if [ ! -f "${SSH_KEY:-}" ]; then
    echo "❌ Erreur: Clé SSH introuvable. Définissez SSH_KEY dans deploy-config.sh"
    exit 1
fi

echo "📊 Création des tables dans la base de données..."
echo ""

if [ ! -f "${SCRIPT_DIR}/database-schema.sql" ]; then
    echo "❌ Erreur: Fichier database-schema.sql introuvable"
    exit 1
fi

echo "📤 Upload du schéma SQL..."
scp ${SSH_OPTS} "${SCRIPT_DIR}/database-schema.sql" ${SSH_USER}@${SSH_HOST}:/tmp/database-schema.sql

echo "🔧 Exécution du schéma SQL..."
ssh ${SSH_OPTS} ${SSH_USER}@${SSH_HOST} "mysql -u${DB_USER} -p'${DB_PASS}' ${DB_NAME} < /tmp/database-schema.sql && rm /tmp/database-schema.sql && echo '✅ Tables créées avec succès'"

echo ""
echo "✅ Base de données configurée pour ${ENV}"
