ADR-13 Atributos de producto con JSONB
ADR-13 — Atributos de producto con JSONB
Sección titulada «ADR-13 — Atributos de producto con JSONB»ACEPTADA — 2026-09-12
Contexto
Sección titulada «Contexto»Qhatu sirve a tiendas de cualquier sector. Cada sector necesita atributos distintos por producto:
- Electrónica: ram, procesador, almacenamiento.
- Ropa: talla, color, material, género.
- Electrodomésticos: voltaje, potencia, capacidad.
Añadir columnas fijas por sector en products sería inmanejable.
Decisiones evaluadas
Sección titulada «Decisiones evaluadas»- NoSQL (MongoDB) — descartado: complejidad operacional injustificada para el MVP.
- EAV (Entity-Attribute-Value) — descartado: queries complejas y lentas.
- JSONB en PostgreSQL — adoptado: esquema flexible dentro de una BD relacional ya existente.
Decisión
Sección titulada «Decisión»Añadir columna attributes JSONB NOT NULL DEFAULT '{}' en la tabla products.
Consecuencias
Sección titulada «Consecuencias»- Cada producto guarda sus atributos específicos de sector en JSON.
- PostgreSQL puede indexar campos JSONB con GIN si se necesita búsqueda por atributo (post-MVP).
- El backend valida la estructura de
attributessegún la categoría (post-MVP).