Clave primaria
Atributos específicos
Claves foráneas
Atributos base
Restricciones e índices
Invariante que la base no puede expresar: cada programa tiene al menos una moneda de cada tipo.
Se garantiza en la transacción de provisioning del tenant y se prueba en integración; un check
constraint no puede mirar otras filas.
RLS y particionamiento
RLS activa portenant_id. No particionada.
Consecuencia abierta
Cuando una moneda de estatus expira, el período de gracia y el eventotier.grace_started de
FS-LOY-0010 dejan de ser opcionales: sin ellos un
member pierde nivel por una expiración sin haber dejado de comprar nunca.