-- ========================================================= -- MESAVAULT PostgreSQL governance baseline -- Fase 1: creación de schemas sin mover tablas existentes -- ========================================================= CREATE SCHEMA IF NOT EXISTS mv_core; CREATE SCHEMA IF NOT EXISTS mv_raw; CREATE SCHEMA IF NOT EXISTS mv_observability; CREATE SCHEMA IF NOT EXISTS mv_edge_oee_ucepsa_demo; CREATE SCHEMA IF NOT EXISTS mv_reports_ucepsa_demo; CREATE SCHEMA IF NOT EXISTS mv_hydro_lab; CREATE SCHEMA IF NOT EXISTS mv_weather_lab; CREATE SCHEMA IF NOT EXISTS mv_sandbox; COMMENT ON SCHEMA mv_core IS 'Catálogos comunes MESAVAULT: tenants, sites, assets, verticales, máquinas y metadatos compartidos.'; COMMENT ON SCHEMA mv_raw IS 'Capa raw: datos crudos de entrada, mensajes MQTT, eventos sin normalizar y dead letters. No debe ser consultada directamente por dashboards cliente.'; COMMENT ON SCHEMA mv_observability IS 'Observabilidad interna: salud de servicios, ingesta, latencias, errores y checks.'; COMMENT ON SCHEMA mv_edge_oee_ucepsa_demo IS 'Capa normalizada de la demo Edge-OEE UCEPSA. Inicialmente contiene vistas puente hacia mv_hot.'; COMMENT ON SCHEMA mv_reports_ucepsa_demo IS 'Capa de reporting para Grafana UCEPSA demo. Grafana debe consultar preferentemente este schema.'; COMMENT ON SCHEMA mv_hydro_lab IS 'Capa normalizada de laboratorio Hydro / Aquaponics.'; COMMENT ON SCHEMA mv_weather_lab IS 'Capa meteorológica de laboratorio.'; COMMENT ON SCHEMA mv_sandbox IS 'Zona temporal de pruebas. No usar para dashboards cliente ni datos productivos.'; -- Endurecimiento básico del schema public REVOKE CREATE ON SCHEMA public FROM PUBLIC;