#!/bin/bash

LOG="/home/ingenieria/noc_utility/backup_sn_case.log"

{
    echo "=================================="
    echo "Inicio: $(date)"
    echo "=================================="
	
set -e

DEV_IP="10.90.1.197"
PROD_IP="10.90.1.198"

SCHEMA="noc_utility"
TABLE="sn_case"

PGUSER="postgres"
PGPASSWORD="post3008"
PGDATABASE="postgres"

TMP_FILE="/tmp/${TABLE}.sql"

echo "Validando ambiente DEV..."

SERVER_IP=$(hostname -I | awk '{print $1}')

if [ "$SERVER_IP" != "$DEV_IP" ]; then
    echo "ERROR: Este script sólo puede ejecutarse en DEV ($DEV_IP)"
    echo "IP detectada: $SERVER_IP"
    exit 1
fi

echo "Servidor DEV validado."

export PGPASSWORD

echo "Generando dump desde PROD..."

pg_dump \
    -h "$PROD_IP" \
    -U "$PGUSER" \
    -d "$PGDATABASE" \
    --table="${SCHEMA}.${TABLE}" \
    --clean \
    --if-exists \
    > "$TMP_FILE"

echo "Restaurando en DEV..."

psql \
    -h 127.0.0.1 \
    -U "$PGUSER" \
    -d "$PGDATABASE" \
    -f "$TMP_FILE"

echo "Aplicando permisos..."

psql \
    -h 127.0.0.1 \
    -U "$PGUSER" \
    -d "$PGDATABASE" \
    -c "GRANT SELECT ON TABLE noc_utility.sn_case TO om_read;"
	
rm -f "$TMP_FILE"

echo "Proceso finalizado correctamente."


    echo "=================================="
    echo "Fin: $(date)"
    echo "=================================="
} >> "$LOG" 2>&1
