Saltar al contenido
E3 CreaTIC

Documentación técnica

Modelo de datos

Motor y configuración

  • Motor: PostgreSQL 17.6
  • Extensiones: pgcrypto (habilitada en init.sql)
  • ORM: SQLAlchemy 2.0 + SQLModel
  • Migraciones: Alembic (b2b-cp-backend/migrations/)
  • Caché: Redis Stack con TTL de 6000 s para datos Zabbix; política allkeys-lru con máximo 3 GB

Entidades principales

users
├── id (PK)
├── username
├── email
├── hashed_password
├── opco_id (FK → opcos)
├── role_id (FK → roles)
└── is_active

opcos
├── id (PK)
├── name
└── primary_color

roles
├── id (PK)
└── name

permissions
├── id (PK)
└── name

role_permissions
├── role_id (FK → roles)
└── permission_id (FK → permissions)

clients (tenants B2B)
├── id (PK)
├── name
├── opco_id (FK → opcos)
└── ...metadata

hosts
├── id (PK)
├── client_id (FK → clients)
├── zabbix_host_id
└── ...atributos de infraestructura

reports
├── id (PK)
├── period (YYYY-MM)
├── generated_at
└── file_path

audit_logs
├── id (PK)
├── user_id (FK → users)
├── action
├── resource
├── timestamp
└── detail (JSONB)

El esquema completo se deriva de los modelos SQLModel en cada microservicio y se versiona en b2b-cp-backend/migrations/versions/.