Files
system-docs/03_MODELO_DATOS/schemas/11_sync.sql

41 lines
1.4 KiB
SQL

-- 11_sync.sql
-- Tablas de sincronizacion y notificaciones
-- Version: 1.0
-- Fecha: 2025-12-30
-- HST_MIRROR: Espejo de entidades HST para sincronizacion local
CREATE TABLE IF NOT EXISTS hst_mirror (
id SERIAL PRIMARY KEY,
ref VARCHAR(100) NOT NULL UNIQUE,
h_maestro VARCHAR(64) NOT NULL UNIQUE,
nombre_es VARCHAR(255),
nombre_en VARCHAR(255),
grupo VARCHAR(50),
hst_subdominio VARCHAR(255),
hst_ruta VARCHAR(255),
local_subdominio VARCHAR(255) DEFAULT NULL,
local_ruta VARCHAR(255) DEFAULT NULL,
activo BOOLEAN DEFAULT TRUE,
hst_activo BOOLEAN DEFAULT TRUE,
sincronizado_at TIMESTAMP,
created_at TIMESTAMP DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_hst_mirror_h_maestro ON hst_mirror(h_maestro);
CREATE INDEX IF NOT EXISTS idx_hst_mirror_ref ON hst_mirror(ref);
-- NOTIFICATION: Sistema de notificaciones
CREATE TABLE IF NOT EXISTS notification (
id VARCHAR(20) PRIMARY KEY,
type VARCHAR(40),
body TEXT,
is_read BOOLEAN DEFAULT FALSE,
is_deleted BOOLEAN DEFAULT FALSE,
fk_user_id VARCHAR(20),
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX IF NOT EXISTS notification_created_at_index ON notification(created_at);
CREATE INDEX IF NOT EXISTS notification_fk_user_id_index ON notification(fk_user_id);