J'ai une application rails qui permet de suivre les titulaires de cartes de membre, et a besoin de faire rapport sur l'état d'un titulaire de carte. Le statut est défini - par règle commerciale - comme étant soit «en règle», «en retard» ou «annulé», selon que la facture la plus récente du titulaire a été payée.Recommandations sur la gestion des champs d'état des objets dans les applications rails: magasin contre calculer?
Les factures étant envoyées 30 jours à l'avance, le client qui vient d'être facturé est toujours en règle, celui qui a 20 jours de retard est en retard et un membre qui ne paie plus sa facture plus de 30 jours après l'échéance serait annulée. Je cherche des conseils pour savoir s'il serait préférable de stocker le statut actuel du titulaire de carte en tant que client au niveau du client (et de gérer les anomalies de mise à jour potentielles résultant des mises à jour potentielles des enregistrements de factures sans mettre à jour le dossier), ou s'il est plus logique de calculer simplement l'état actuel du détenteur de carte en fonction des données de la base de données chaque fois que le statut est demandé (ce qui risque de surcharger la base de données et de ralentir l'application).
Recommandations? Ou d'autres idées auxquelles je n'ai pas pensé? Une contrainte importante: bien qu'il soit peu probable que quelqu'un modifie directement la base de données, il y a toujours cette possibilité, je dois donc essayer de mettre en place des mesures de sécurité pour empêcher les différents enregistrements de base de données d'être désynchronisés.