Système de log de champs de BD mis à jour

Système de log de champs de BD mis à jour - SQL/NoSQL - Programmation

Marsh Posté le 04-09-2018 à 15:00:39    

Bonjour,
Je suis en train de coder une petite appli web contenant plusieurs tables et très peu d'utilisateurs. Il est même probable que chaque utilisateur ait l'appli en local sur son PC/tablette...
 
L'appli doit permettre de consulter les données et, via un mode MAJ, de pouvoir les modifier/supprimer. L'idée, est qu'ensuite, toutes les MAJ soient exportables dans un fichier CSV. J'ai pas besoin de conserver les anciennes valeurs des champs.
 
Pour tracer les MAJ faites sur les différents champs des différentes tables, je pensais à faire une seule table ayant les champs suivants :
ID (entier, clé primaire, ID du changement)
DateHeureChg (datetime du changement)
NomTable (chaîne, représente la table concernée par un changement)
TypeChg (caractère, C/U/D, représente une création, suppression, MAJ d'un enregistrement ou juste d'un champ)
IDEnreg (entier, ID de l'enregistrement impacté)
NomChamp (chaîne, nom du champ concerné par un changement de type MAJ)
 
Pour la valeur des champs qui ont changé, je les trouverai dans les tables contenant les données.
 
Qu'en dites-vous ?
Merci.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-09-2018 à 15:00:39   

Reply

Marsh Posté le 05-09-2018 à 10:45:18    

Oui, si on modifie plusieurs champs d'un même enregistrement, ça fait plusieurs lignes dans ma table de logs.
Je me tâtais pour ajouter un champ "ValeurChamp" dans la table des logs pour éviter de faire la jointure. Effectivement, ça serait plus simple et j'ai pas de pb de volumétrie.
 
Le contenu de l'export en CSV n'est pas encore complètement spécifié. Il y a une possibilité que pour les enregistrements mis à jour (ie, changement de valeur), je sois obligé de remettre aussi les valeurs de tous les champs non modifiés. C'est l'une des raisons qui m'avaient incité à ne pas stocker la valeur modifiée dans la table des logs puisqu'il y a un risque que je sois obliger de faire ces jointures de toute manière. :/
 
Edit : cet aspect de devoir remettre toutes les valeurs non modifiées dans l'expert CSV ou pas ne dépend pas de moi mais des spécs d'un logiciel existant (celui qui va recevoir mon export). J'attends la réponse...


Message édité par rufo le 05-09-2018 à 10:46:10

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 07-09-2018 à 14:22:42    

Est-ce que l'activation des binary logs de MySQL (si tu es sur un base SQL) ne serait pas suffisant?


Message édité par c0wb0y le 07-09-2018 à 14:22:56
Reply

Marsh Posté le 07-09-2018 à 22:42:25    

Je suis sur MySql effectivement. Je vais regarder ça et voir si ça répondrait au besoin.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed