#!/bin/bash set -e # ============================================================================= # Script de inicialización de bases de datos PostgreSQL # Sincronizado con databases.registry.yml # ============================================================================= psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL -- Bases de datos principales CREATE DATABASE gamilit_db; CREATE DATABASE erp_core_db; CREATE DATABASE erp_construccion_db; CREATE DATABASE erp_mecanicas_db; CREATE DATABASE trading_db; CREATE DATABASE betting_db; -- Bases de datos adicionales (verticales ERP) CREATE DATABASE erp_vidrio_db; CREATE DATABASE erp_retail_db; -- Bases de datos de proyectos incluidos CREATE DATABASE inmobiliaria_db; CREATE DATABASE platform_marketing_db; -- Crear usuarios de aplicación CREATE USER gamilit_app WITH ENCRYPTED PASSWORD 'gamilit_dev_pass'; CREATE USER erp_app WITH ENCRYPTED PASSWORD 'erp_dev_pass'; CREATE USER trading_app WITH ENCRYPTED PASSWORD 'trading_dev_pass'; CREATE USER betting_app WITH ENCRYPTED PASSWORD 'betting_dev_pass'; CREATE USER inmobiliaria_app WITH ENCRYPTED PASSWORD 'inmobiliaria_dev_pass'; CREATE USER marketing_app WITH ENCRYPTED PASSWORD 'marketing_dev_pass'; -- Otorgar permisos GRANT ALL PRIVILEGES ON DATABASE gamilit_db TO gamilit_app; GRANT ALL PRIVILEGES ON DATABASE erp_core_db TO erp_app; GRANT ALL PRIVILEGES ON DATABASE erp_construccion_db TO erp_app; GRANT ALL PRIVILEGES ON DATABASE erp_mecanicas_db TO erp_app; GRANT ALL PRIVILEGES ON DATABASE erp_vidrio_db TO erp_app; GRANT ALL PRIVILEGES ON DATABASE erp_retail_db TO erp_app; GRANT ALL PRIVILEGES ON DATABASE trading_db TO trading_app; GRANT ALL PRIVILEGES ON DATABASE betting_db TO betting_app; GRANT ALL PRIVILEGES ON DATABASE inmobiliaria_db TO inmobiliaria_app; GRANT ALL PRIVILEGES ON DATABASE platform_marketing_db TO marketing_app; -- Extensiones comunes \c gamilit_db CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE EXTENSION IF NOT EXISTS "pgcrypto"; \c trading_db CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE EXTENSION IF NOT EXISTS "timescaledb" CASCADE; \c inmobiliaria_db CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE EXTENSION IF NOT EXISTS "postgis"; EOSQL echo "Bases de datos inicializadas correctamente"