Bonjour à tous,
Sur un de mes projets, je me retrouve devant une problématique :
Supposons que j'ai une table mysql "artiste" avec une structure simplifiée comme celle-ci : artiste(id_artiste, nom, prenom, adresse).
Ce projet a pour but d'être communautaire, pour que les internautes puissent corriger la fiche d'un artiste si celle-ci est fausse/incomplete. Les internautes peuvent donc modifier une fiche, mais je dois passer derrière pour valider la fiche, pour éviter tout abus/spam/flood etc. Il me faut donc garder une trace des anciennes propriétés de l'artiste, avant qu'il ne soit modifié, pour pouvoir la restaurer la fiche si besoin est.
Je vois 2 solutions pour le moment:
1) Ajouter un 2e champ pour chaque champ déja existant, qui servira a sauvegarder l'ancienne valeur. Ma table ressemblera donc à cela : artiste(id_artiste, nom, nom_old, prenom, prenom_old, adresse, adresse_old)
2) Créer une nouvelle table "artiste_temp" qui sera la nouvelle fiche modifiée. Cette nouvelle table a la même structure que celle existante. Son intéret est de ne pas "polluer" la structure de la table artiste existante.
J'ai pensé à ces 2 méthodes et non une vraie table historique, car je n'ai pas besoin de garder une trace de chaque modification. Une fois que la fiche est modifiée, n'importe qui peut la modifier ensuite. Quand je passerai valider la fiche, je ne verrai ces modifs comme une seule modif. Et je valide ou pas, en écrasant les anciennes valeurs par les nouvelles.
Ma question est donc : voyez-vous d'autres solutions pour mon cas?
Merci beaucoup.
Message édité par welcominh le 13-09-2009 à 22:38:19
---------------
Direct-download.com, le moteur de recherche pour Mega