Dans cet article


Offres d'emploi

Tags

Comment comparer 2 schemas Mysql ?

Comment comparer 2 schemas Mysql ?

Qui n’a jamais eu le besoin de comparer 2 schemas de base de données Mysql après avoir oublier de noter l’ensemble des modifications apportées à un environnement ?

Outil gratuit pour comparer 2 schemas Mysql

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)

base-source-schemas-mysql

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)

base-cible-schemas-mysql

Vous pouvez alors choisir les options :

reglage-diff-schemas-mysql

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 :

choix-tables-schemas-mysql

L'équipe AXOPEN

Voir aussi les articles suivants

HaProxy: JBoss EAP 6.1 et MySql Réplication

HaProxy: JBoss EAP 6.1 et MySql Réplication

Le 28/08/2013 par Jérôme Poussineau

Lors de l’utilisation de HAPROXY vers deux Mysql en master/slave, lors de l’arrêt d’un des deux serveurs Mysql, le serveur JBoss n’arrive pas à se reconnecer à la base de données. Etudions ici la configuration, l’installation de Haproxy et de JBoss. Versions utilisées: JBoss EAP 6.1 Mysql 5.5 Configuration de HAPROXY Dans cette configuration, nous utilisons une réplication entre un Mysql Master et un Slave. L’idée est d’avoir un failover lors de la chute du master vers le server de backup, ici le 192.
Lire l'article

Description Il est parfois utile de générer la liste des tables de la base de données Planisware contenant une colonne ONB. De plus, la liste de ces tables n’est pas fixe car elle va dépendre de la version du noyau Planisware, de la version de Processes et du paramétrage spécifique implémenté. Requête SQL Voici une requête SQL à exécuter en étant connecté au schéma de la BDD et renvoyant la liste des tables Planisware :
Lire l'article