J'ai besoin de stocker des modifications entrée d'une table en particulier, mais non pas à montrer les modifications jusqu'à ce qu'ils ont été vu et approuvé par un utilisateur administratif. Alors que ces changements sont encore dans un état d'attente, je serais encore à l'ancienne version des données. Quelle serait la meilleure façon de les stocker ces modifications sont en attente d'approbation?
J'ai pensé à plusieurs égards, mais ne peut pas comprendre quelle est la meilleure méthode. C'est une très petite application web. Un autre moyen serait d'avoir un PendingChanges tableau qui imite l'autre schéma de tableau, et puis une fois que le changement est approuvé, j'ai pu mettre à jour le véritable table avec les informations. Une autre approche serait de faire une sorte de record de gestion des versions où je stocker plusieurs versions des données dans la table, puis extraire le dossier avec le plus grand numéro de version qui a été marquée approuvé. Qui permettrait de limiter le nombre de tables supplémentaires (j'en ai besoin pour ce faire de plusieurs tables), mais m'obligerait à faire un traitement supplémentaire à chaque fois que je sors un ensemble d'enregistrements assurez-je obtenir les bonnes.
Toutes les expériences personnelles avec ces méthodes, ou d'autres qui pourraient être bon?
Mise à jour: Juste pour préciser, dans cette situation particulière, je ne m'intéresse pas tellement dans les données historiques. J'ai juste besoin d'une certaine manière à l'approbation de toutes les modifications qui sont faites par un utilisateur avant d'aller vivre sur le site. Ainsi, un utilisateur de modifier leur "profil", puis un administrateur de regarder cette modification, et de l'approuver. Une fois approuvé, qui deviendra la valeur affichée et l'ancienne version n'a pas besoin d'être conservés.
Quelqu'un a essayé la solution ci-dessous où vous stockez les modifications en attente d'une table qui doit les suivre en tant que XML dans un PendingChanges table? Chaque enregistrement aurait une colonne qui dit la table dans laquelle les modifications ont pour, une colonne qui peut être stockée à l'id de l'enregistrement qui serait modifié (null si c'est un nouveau record), une colonne datetime pour stocker lorsque le changement a été fait, et une colonne pour stocker le xml de l'enregistrement modifié (peut-sérialiser mon objet de données). Comme je n'ai pas besoin de l'histoire, après qu'une modification a été approuvée, le réel, le tableau sera mis à jour et le PendingChange de l'enregistrement peut être supprimé.
Toutes les pensées sur cette méthode?