Cómo leer una página de schema
Cada página abre declarando la forma de la tabla (ADR-024), porque la forma determina qué columnas tiene sin que nadie las elija:
Las columnas base aparecen marcadas como
base y no se repiten con explicación en cada página: su
significado está fijado por el estándar, no por la tabla. Lo que cada página describe en detalle es
lo propio — los atributos específicos, las claves foráneas y las restricciones.
Qué lleva cada página
- Clave primaria — qué es y cómo se genera.
- Atributos específicos — tipo, obligatoriedad, default, reglas de validación.
- Claves foráneas — a qué tabla apuntan, con enlace, y qué pasa al borrar el padre.
- Atributos base — los que vienen de la forma, marcados
base. - Restricciones e índices — unicidad (siempre con
tenant_id), checks, índices que existen por una consulta concreta que está escrita. - RLS y particionamiento — la política de tenant y, si aplica, la clave de partición.
- Registro de cambios — cada cambio con su fecha, su motivo y el FS o ADR que lo decidió.
Reglas que no se repiten en cada página
Están enstandards/data.md y aplican siempre:
- Toda unicidad incluye
tenant_id(§2b). Doña María es dos personas distintas si es clienta de dos empresas. created_by/updated_byestán prohibidos (ADR-024). El actor vive encore.audit_logcon el diff completo.- Nunca un enum de Postgres para un valor de negocio (§2): va a un catálogo forma C.
- Nunca un monto sin su moneda (§3), y los puntos no son dinero.
- FK entre schemas solo hacia
core(§1).identityno tiene ninguna.
Estado
La sección se construye módulo por módulo, en el mismo orden en que se aprueban las specs. Una tabla sin página de schema es una tabla que no se puede implementar: el validadorschemas lo reporta.