Comment comparer 2 schemas Mysql ? | AXOPEN
Pour comparer 2 schemas Mysql, beaucoup d’outils plus ou moins évolués existent sur Internet. Parmi eux, j’ai pu tester un outil très simple nommé mysqldiff et disponible gratuitement.
L’avantage de cet outil est qu’il est codé en PHP: il ne nécessite donc pas à ce titre d’installation. Il faut donc uniquement dé-zipper la version récupérée sur votre EasyPHP ou WAMP local ou bien dans le www de votre serveur de test ou de recette sur lequel se trouve votre base de données.
Comparer 2 schemas Mysql : configurer l’outil
Après avoir sélectionné le langage, vous devez alors configurer la source de données :
Malheureusement, la dernière version (1.5.0) comprend des fonctions deprecated, il est donc nécessaire de corriger la classe library/database.lib.php aux lignes suivantes :
-> ligne 73 : Enlever le trim autour de la variable $this->_con
-> ligne 190 : Remplacer la fonction mysql_list_dbs($this->_con) par mysql_query(« SHOW DATABASES », $this->_con)
-> ligne 234 : Remplacer la colonne Type par Engine (version récente de MySql)
-> ligne 300 : Remplacer la colonne Type par Engine
-> ligne 326 : Remplacer la colonne Type par Engine
Vous devez alors obtenir un écran permettant de sélectionner la base source : (la plus ancienne)
Une fois la base source sélectionnée, vous pouvez alors choisir la base cible : (la plus récente qui contient les dernières évolutions)
Ainsi par défaut, l’auto-increment des tables n’est pas pris en compte pour éviter les différences dû à l’insertion de données.
Vous obtenez alors un script DDL comprenant l’ensemble des modifications de structure à appliquer pour passer de la table source à cible.
L’option « Créer blocs INSERT- OU REPLACE » vous permet de sélectionner un ensemble de tables pour lesquels le logiciel va comparer les données pour ainsi proposer des scripts INSERT / REPLACE.
Il faut donc sélectionner uniquement les tables référentiel :
Qlikview – Connecter une base MySql Il est possible de connecter Qlikview à une base de données MySql. Nous allons voir comment faire au travers d’un environnement windows. Pour cela, il faut réaliser 2 étapes :...
Filtrage GeoIP avec pfSense Vous vous êtes peut être déjà retrouvé confronté à des attaques de spam venant de certains pays en particulier sur vos serveurs web. Il existe sur Apache ou en PHP...
JSF 2 – Redirect HTTP 404 de manière programmatique Il n’est pas forcément évident de faire un redirect 404 de manière programmatique en JAVA. Un des principaux cas d’utilisation est lorsqu’on utilise un url rewritting pour générer des liens...
Tags: base de données, comparer, DDL, mysqdiff, Mysql, MySQLDiff 1.5.0, schéma
Consultant associé dans la société Axopen. Jérôme Poussineau intervient sur des missions de conseil en technologies et en architecture applicative. Plus d'informations sur nos offres sur <a title="Site Web AXOPEN" href="http://www.axopen.com">www.axopen.com</a>