Magento Database Repair Tool

Imprimer Envoyer
Magento

Une annonce importante aujourd'hui avec la mise à disposition par Varien d'un outil répondant au doux nom de Magento Database Repair Tool.

Votre base Magento est sur une base mysql avec un moteur de stockage MyISAM et non InnoDB ? C'est mal !...

Vous vouliez voir ce qui se cachait dans la base de données de Magento et vous avez, pas erreur, supprimé une ou des tables ? C'est mal aussi !

Soyez cependant rassurés, après Mage Compiler, Yoav Kutner nous sort une nouvelle idée et le module qui va avec. De quoi il s'agit ? D'un petit script qui permet de corriger les erreurs liées aux bases de données Magento même si celles-ci n'ont pas lieu d'être... normalement ;)

 

Magento Database Repair Tool : c'est quoi ?

Magento Database Repair Tool c'est un outil qui permet de corriger des erreurs dans une base de données Magento :

  • Tables manquantes (supprimées après fausse manipulation par exemple)
  • Tables au format MyISAM et non InnoDB
  • Tables avec mauvais encodage
  • Champs manquants au sein d'une table ou champs "endommagés"
  • Clés et/ou index manquants

 

Magento Database Repair Tool : comment ça marche ?

C'est simple, en fait vous n'avez besoin que de trois éléments :

  • votre installation endommagée sur un serveur de test
  • une installation de Magento de la même version que votre installation endommagée, et installée sur le même environnement
  • Le module Magento Database Repair Tool que vous pouvez récupérer sur le site officiel de Magento, partie téléchargemens

 

Puis, toujours sur votre serveur de test :

  • placez le fichier magento-db-repair-tool-1.0.php dans n'importe quel dossier
  • sauvegardez la base de données (même endommagée, c'est mieux que rien)
  • clonez la base de données endommagée dans une nouvelle base - "bdd2" par exemple
  • créez une base de données vierge, "bdd3" par exemple
  • copiez les fichiers de votre installation endommagée dans un nouveau dossier (sans copier les fichiers de cache et de sessions présents dans var/cache et var/session !)
  • dans le dossier dans lequel vous venez de copier votre installation endommagée, éditez le fichier app/etc/local.xml pour changer le nom de la base de données en "bdd3" puis exécutez cette installation (rendez-vous sur page d'accueil par exemple)

 

A l'issue de ces étapes vous aurez :

  • une copie de votre base originale endommagée dans "bdd2"
  • une toute nouvelle base de données, "bdd3", vierge et associée à une copie des fichiers de votre installation endommagée

 

Magento Database Repair Tool : et ensuite ?

Une fois ces opérations effectuées vous pouvez lancer le process d'analyse.

  • Exécutez le fichier magento-db-repair-tool-1.0.php placé sur votre serveur en vous rendant sur son url grâce à votre navigateur
  • Dans la partie "Corrupted Database Connection", entrez toutes les informations relatives à la copie de la base de données endommagée, "bdd2"
  • Dans la partie "Reference Database Connection", entrez toutes les informations relatives à la base de "référence", vierge, "bdd3"

Vous pouvez lancer le process en cliquant sur "Continue".

 

Magento Database Repair Tool : un exemple concret ?

Je vous ai préparé un exemple pour voir très concrètement ce que permet ce nouveau module. Pour cela j'ai pris une installation de Magento (dernière version), avec la base de démonstration... et j'ai saccagé la base de données : suppression de tables, de champs et d'indexes, clés...

Puis j'ai simplement suivi les étapes données en amont.

Le résultat... le voici.

Tout a bien marché, a priori :

Magento Database Repair Tool

 

Et un extrait du rapport :

Magento Database Repair Tool

 

NB : ce tutorial est disponible dans la rubrique Tutoriaux de Fragento : tutorial Magento Database Repair Tool

Conclusion : vous pouvez désormais passez vos nerfs sur votre base de données de production sans risque, Magento Database Repair Tool fera des miracles pour tout réparer.

Ou, plus sérieusement, dans l'éventualité ou vous interviendrez sur une base de données de production (ce qui est, comme je le disais en introduction, très mal), vous avez une potentielle roue de secours. Potentielle, car c'est un nouveau module et qu'il n'est donc pas forcément exempt de bug, donc à utiliser sur un serveur de test impérativement.

Enfin et dans tous les cas entourez vous d'un développeur Magento compétent à même de vous aider lorsque de tels problématiques se présentent :)

Commentaires
RSS
Olixelle  : article interressant ;) 2009-08-12 22:44:57
comme dit dans le titre
Gabriiiel  : Gracias 2009-08-12 22:48:39
Como es écrito en él titro :)
obione 2009-09-15 09:26:49
trop beau pour être vrai ?
(à tester)
Seul les utilisateurs enregistrés peuvent écrire un commentaire!

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."