Comparer deux bases de données PostgreSQL

Objectifs

J’ai apporté des modifications de structure sur ma base de données de développement.
J’aimerai connaitre les différences entre ma Production et ma version de Dev, afin d’altérer ma structure de production.

En gros, je me pose la question « quelles sont les commandes SQL correspondant aux modifications que j’ai apportées à ma base ? »

Et si on avait directement ces commandes SQL, dans un fichier… SQL ?

Aller c’est parti ?

Création des fichiers de Dump des bases

Pour réaliser les dumps, vous devez disposer de la commande pg_dump.

Faire un dump de la base de Production :

Faire un dump de la base de Développement :

  • -s permet de n’exporter que la structure

Vous avez donc maintenant deux fichiers backupStructureProd.sql et backupStructureDev.sql.

Nous allons les comparer, mais pour cela il va nous falloir un outil, en java ?

Comparaison des deux fichiers

Alors le petit utilitaire en java s’appelle apgdiff (Télécharger ici)

Il ‘s’agit d’un fichier .jar qui va fonctionner de la manière suivante :

  • On compare les fichiers backupStructureProd.sql et backupStructureDev.sql
  • On écrit les résultats directement en SQL dans le ficher upgrade.sql

Appliquer les changements

Maintenant que nous avons notre fichier SQL upgrade.sql, nous allons appliquer les changements sur notre base de production :

psql doit être installer sur votre machine.

Sources

Ingénieur Informatique spécialisé dans le développement web fullStack, je m’initie depuis quelque années au monde de la domotique et des objets connectés.
Partager cet articleShare on FacebookShare on Google+Tweet about this on TwitterPin on Pinterest

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *