#!/bin/bash # Script pour promouvoir l'utilisateur de test en "artist" # Usage: ./setup-test-user-role.sh set -e # Configuration par défaut (peut être surchargée par variables d'environnement) # Valeurs par défaut basées sur docker-compose.yml du projet DB_HOST="${DB_HOST:-localhost}" DB_PORT="${DB_PORT:-5432}" DB_NAME="${DB_NAME:-veza}" DB_USER="${DB_USER:-veza}" DB_PASSWORD="${DB_PASSWORD:-password}" TEST_USER_EMAIL="${TEST_USER_EMAIL:-user@example.com}" POSTGRES_CONTAINER="${POSTGRES_CONTAINER:-veza_postgres}" echo "🔧 [SETUP] Promoting test user to 'artist' role..." echo " User: $TEST_USER_EMAIL" echo " Database: $DB_NAME@$DB_HOST:$DB_PORT" # Option 1: Utiliser psql directement if command -v psql &> /dev/null; then echo "📝 [SETUP] Using psql..." PGPASSWORD="$DB_PASSWORD" psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" < /dev/null; then echo "🐳 [SETUP] Using Docker exec..." # Chercher le conteneur PostgreSQL if docker ps --format "{{.Names}}" | grep -q "^${POSTGRES_CONTAINER}$"; then CONTAINER_NAME="$POSTGRES_CONTAINER" elif docker ps --format "{{.Names}}" | grep -qi postgres; then CONTAINER_NAME=$(docker ps --format "{{.Names}}" | grep -i postgres | head -n 1) else echo "❌ [SETUP] No PostgreSQL container found" echo " Tried: $POSTGRES_CONTAINER" echo " Available containers:" docker ps --format "{{.Names}}" || echo " (none running)" exit 1 fi echo " Using container: $CONTAINER_NAME" docker exec -i "$CONTAINER_NAME" psql -U "$DB_USER" -d "$DB_NAME" <