Add user units and sync tables (10_user_units.sql, 11_sync.sql)
This commit is contained in:
70
03_MODELO_DATOS/schemas/10_user_units.sql
Normal file
70
03_MODELO_DATOS/schemas/10_user_units.sql
Normal file
@@ -0,0 +1,70 @@
|
||||
-- 10_user_units.sql
|
||||
-- Tablas de unidades de usuario por tipo
|
||||
-- Version: 1.0
|
||||
-- Fecha: 2025-12-30
|
||||
|
||||
-- HSU: Host Service Unit (usuarios de servicio host)
|
||||
CREATE TABLE IF NOT EXISTS hsu (
|
||||
id SERIAL PRIMARY KEY,
|
||||
ref VARCHAR(10) NOT NULL UNIQUE,
|
||||
h_usuario VARCHAR(64) NOT NULL UNIQUE,
|
||||
nombre VARCHAR(255),
|
||||
user_id INTEGER NOT NULL,
|
||||
activo BOOLEAN DEFAULT TRUE,
|
||||
created_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- PJU: Project Unit (usuarios de proyecto)
|
||||
CREATE TABLE IF NOT EXISTS pju (
|
||||
id SERIAL PRIMARY KEY,
|
||||
ref VARCHAR(10) NOT NULL UNIQUE,
|
||||
h_usuario VARCHAR(64) NOT NULL UNIQUE,
|
||||
nombre VARCHAR(255),
|
||||
user_id INTEGER NOT NULL,
|
||||
activo BOOLEAN DEFAULT TRUE,
|
||||
created_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- SPU: Service Process Unit (usuarios de proceso de servicio)
|
||||
CREATE TABLE IF NOT EXISTS spu (
|
||||
id SERIAL PRIMARY KEY,
|
||||
ref VARCHAR(10) NOT NULL UNIQUE,
|
||||
h_usuario VARCHAR(64) NOT NULL UNIQUE,
|
||||
nombre VARCHAR(255),
|
||||
user_id INTEGER NOT NULL,
|
||||
activo BOOLEAN DEFAULT TRUE,
|
||||
created_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- VSU: Version Service Unit (usuarios de servicio de version)
|
||||
CREATE TABLE IF NOT EXISTS vsu (
|
||||
id SERIAL PRIMARY KEY,
|
||||
ref VARCHAR(10) NOT NULL UNIQUE,
|
||||
h_usuario VARCHAR(64) NOT NULL UNIQUE,
|
||||
nombre VARCHAR(255),
|
||||
user_id INTEGER NOT NULL,
|
||||
activo BOOLEAN DEFAULT TRUE,
|
||||
created_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- VUU: Version Update Unit (usuarios de actualizacion de version)
|
||||
CREATE TABLE IF NOT EXISTS vuu (
|
||||
id SERIAL PRIMARY KEY,
|
||||
ref VARCHAR(10) NOT NULL UNIQUE,
|
||||
h_usuario VARCHAR(64) NOT NULL UNIQUE,
|
||||
nombre VARCHAR(255),
|
||||
user_id INTEGER NOT NULL,
|
||||
activo BOOLEAN DEFAULT TRUE,
|
||||
created_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- FLU: Flow Unit (usuarios de flujo)
|
||||
CREATE TABLE IF NOT EXISTS flu (
|
||||
id SERIAL PRIMARY KEY,
|
||||
ref VARCHAR(10) NOT NULL UNIQUE,
|
||||
h_usuario VARCHAR(64) NOT NULL UNIQUE,
|
||||
nombre VARCHAR(255),
|
||||
user_id INTEGER NOT NULL,
|
||||
activo BOOLEAN DEFAULT TRUE,
|
||||
created_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
40
03_MODELO_DATOS/schemas/11_sync.sql
Normal file
40
03_MODELO_DATOS/schemas/11_sync.sql
Normal file
@@ -0,0 +1,40 @@
|
||||
-- 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);
|
||||
@@ -18,6 +18,8 @@
|
||||
| 06_clara.sql | Clara (secretaría) | clara_log, clara_summary (vista) |
|
||||
| 07_feldman.sql | Feldman (contable) | milestones, bloques, feldman_cola, feldman_validaciones |
|
||||
| 08_alfred.sql | Alfred (producción) | flujos_predefinidos, flujo_ejecuciones |
|
||||
| 10_user_units.sql | Unidades de usuario | hsu, pju, spu, vsu, vuu, flu |
|
||||
| 11_sync.sql | Sincronización | hst_mirror, notification |
|
||||
|
||||
---
|
||||
|
||||
@@ -34,6 +36,8 @@ psql -U tzzr -d tzzr -f 05_ai_requests.sql
|
||||
psql -U tzzr -d tzzr -f 06_clara.sql
|
||||
psql -U tzzr -d tzzr -f 07_feldman.sql
|
||||
psql -U tzzr -d tzzr -f 08_alfred.sql
|
||||
psql -U tzzr -d tzzr -f 10_user_units.sql
|
||||
psql -U tzzr -d tzzr -f 11_sync.sql
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user