Mettre en place une route qui permet la restauration d'une base de données MySQL à partir d'un fichier de sauvegarde existant. Cette fonctionnalité offrira une solution pour restaurer la base de données dans son état à un instant donné.
Contexte
La capacité de restaurer une base de données à partir d'une sauvegarde est essentielle pour récupérer les données en cas de corruption, de perte ou de modifications indésirables. L'ajout de cette fonctionnalité assurera la résilience du projet SafeBase.
Objectifs
Créer une nouvelle route POST /restore pour restaurer la base de données à partir d'une sauvegarde.
Permettre à l'utilisateur de sélectionner le fichier de sauvegarde à utiliser pour la restauration.
Exécuter la commande nécessaire pour restaurer la base de données.
Gérer les erreurs possibles (e.g., fichier de sauvegarde non trouvé, erreurs MySQL lors de la restauration).
Critères d'acceptation
La route /restore doit accepter le nom du fichier de sauvegarde à restaurer.
La restauration doit être effectuée à partir du fichier spécifié.
La réponse doit indiquer le succès ou l'échec de l'opération, avec des détails en cas d'erreur.
Les logs doivent enregistrer le résultat de chaque tentative de restauration.
Tâches
[x] Créer et initialiser une nouvelle branche de travail
Utiliser le format de nommage des branches : feature/restore-database
[x] Sous-tâche 1: Implémenter la route de restauration
Créer une nouvelle route /restore dans le fichier backend/src/routes/restore.js.
Importer et enregistrer cette route dans backend/src/routes/index.js.
[x] Sous-tâche 2: Implémenter la logique de restauration
Ajouter une fonction performRestore() qui exécutera la commande pour restaurer la base de données à partir du fichier de sauvegarde spécifié.
Utiliser child_process.exec pour lancer la commande de restauration mysql en ligne de commande.
Vérifier l'existence du fichier de sauvegarde avant de lancer la restauration.
[x] Sous-tâche 3: Ajouter la gestion des erreurs et les logs
Gérer les erreurs potentielles (fichier introuvable, échec de la restauration).
Ajouter des logs pour chaque tentative de restauration.
[x] Sous-tâche 4: Test de la route /restore
Utiliser Postman pour tester la route /restore avec différents fichiers de sauvegarde.
Vérifier les logs pour s'assurer que le processus de restauration est correctement enregistré.
[x] Rédiger le message de commit
Suivre le template de message de commit, en utilisant le format : feat(restore): implémenter la restauration des bases de données à partir des sauvegardes.
[x] Créer la Pull Request
Utiliser le template de Pull Request en fournissant les détails des changements, les tests effectués et les éventuels problèmes rencontrés.
Résumé
Mettre en place une route qui permet la restauration d'une base de données MySQL à partir d'un fichier de sauvegarde existant. Cette fonctionnalité offrira une solution pour restaurer la base de données dans son état à un instant donné.
Contexte
La capacité de restaurer une base de données à partir d'une sauvegarde est essentielle pour récupérer les données en cas de corruption, de perte ou de modifications indésirables. L'ajout de cette fonctionnalité assurera la résilience du projet SafeBase.
Objectifs
/restore
pour restaurer la base de données à partir d'une sauvegarde.Critères d'acceptation
/restore
doit accepter le nom du fichier de sauvegarde à restaurer.Tâches
feature/restore-database
/restore
dans le fichierbackend/src/routes/restore.js
.backend/src/routes/index.js
.performRestore()
qui exécutera la commande pour restaurer la base de données à partir du fichier de sauvegarde spécifié.child_process.exec
pour lancer la commande de restaurationmysql
en ligne de commande./restore
/restore
avec différents fichiers de sauvegarde.feat(restore): implémenter la restauration des bases de données à partir des sauvegardes
.Ressources
Nom de la branche
feature/restore-database