Mysql : identifier les tables manquantes entre 2 bases de données
Un petit article pratique assez générique pour une fois.
Pour un projet récent il fallait que je puisse détecter les tables manquantes entre une base de données « native » et la base de données du projet.
Il existe un certain nombre de logiciels qui le permettent mais je n’en avais pas sous la main.
Navicat permets d’identifier les tables concernées mais pas d’en exporter la liste.
La solution donnée ici permettra de faire tout en ligne de commandes ( linux )
J’ai utilisé l’outil https://github.com/DBDiff/DBDiff comme base.
Il faut commencer par télécharger le phar
wget https://github.com/DBDiff/DBDiff/releases/download/v1.0.0/dbdiff.phar |
Ajouter les droits d’exécution au fichier.
Il faut ensuite configurer une connexion pour l’outil dbdiff ( dans le même dossier ou vous allez placer le phar )
Pour cela il faut créer un fichier .dbdiff ( attention au . devant ) avec les identifiants de connexions
server1: user: user password: password port: 3306 # for MySQL this is 3306 host: 127.0.0.1 # usually localhost or 127.0.0.1 #Mettre la configuration des autres serveurs si nécessaires server x: |
L’outil dbdiff permets ensuite de générer nativement un fichier sql récapitulatif des différences via la commande :
. |
Mysql : identifier les tables manquantes entre 2 bases de données Lire la suite »