Comment je peux faire de la Corbeille pour l'Application de Base de données?
-
20-09-2019 - |
Question
J'ai d'application de base de données, je veux permettre à l'utilisateur de restaurer les enregistrements supprimés de la base de données, comme dans windows, nous avons corbeille pour les fichiers que je veux faire la même chose mais pour les enregistrements de base de données, Supposons que j'ai beaucoup de tables connexes qui ont un grand nombre de domaines.
Edit:
disons que j'ai les structures suivantes:
Tableau des rapports
- RepName clé primaire
- ReportData
Table des utilisateurs
- ID de clé primaire
- Nom
UserReports table
- RepName clé primaire
- L'identifiant de la clé primaire
- IsDeleted
maintenant, si j'ai mis isdeleted champ dans UserReports table, l'utilisateur ne peut pas ajouter d'enregistrement de même encore si elle marqué comme supprimé, parce que le dossier est déjà ce qui fera la duplication.
La solution
Note:J'utilise toujours porteuse de clé primaire.
Ajouter un timestamp 'deleted_at colonne.Lorsque l'utilisateur supprime l'entrée y mettre de l'heure actuelle.Faire de cette partie de la clé de votre contraindre.
Dans chaque requête, n'oubliez pas de rechercher uniquement les enregistrements qui contiennent la valeur null dans deleted_at champ.
Certains frameworks (comme ActiveRecord) rendre trivial à faire.