-- Script para reconfigurar o recrear la base de datos dev_pixelato
-- Ejecutar como usuario postgres

-- Opción 1: Eliminar y recrear (CUIDADO: esto borrará todos los datos)
-- Descomenta las siguientes líneas si quieres recrear desde cero:
/*
DROP DATABASE IF EXISTS dev_pixelato;

CREATE DATABASE dev_pixelato
    WITH 
    OWNER = postgres
    ENCODING = 'UTF8'
    LC_COLLATE = 'en_US.UTF-8'
    LC_CTYPE = 'en_US.UTF-8'
    TEMPLATE = template0;
*/

-- Opción 2: Cambiar el owner de la base de datos existente
ALTER DATABASE dev_pixelato OWNER TO postgres;

-- Conectar a la base de datos
\c dev_pixelato

-- Limpiar todas las tablas existentes (si las hay)
-- CUIDADO: Esto eliminará todas las tablas
DO $$ 
DECLARE 
    r RECORD;
BEGIN
    FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = 'public') 
    LOOP
        EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(r.tablename) || ' CASCADE';
    END LOOP;
END $$;

-- Otorgar permisos completos
GRANT ALL PRIVILEGES ON DATABASE dev_pixelato TO postgres;
GRANT ALL ON SCHEMA public TO postgres;
GRANT CREATE ON SCHEMA public TO postgres;

-- Verificar el estado
SELECT current_database() as database, current_user as usuario;

\echo 'Base de datos dev_pixelato configurada exitosamente'