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) |
|
| 06_clara.sql | Clara (secretaría) | clara_log, clara_summary (vista) |
|
||||||
| 07_feldman.sql | Feldman (contable) | milestones, bloques, feldman_cola, feldman_validaciones |
|
| 07_feldman.sql | Feldman (contable) | milestones, bloques, feldman_cola, feldman_validaciones |
|
||||||
| 08_alfred.sql | Alfred (producción) | flujos_predefinidos, flujo_ejecuciones |
|
| 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 06_clara.sql
|
||||||
psql -U tzzr -d tzzr -f 07_feldman.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 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