Forum général.cherche-logiciel diff DDL (SQL)

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
1
4
jan.
2023

Salut,
Je cherche un logiciel qui permettrait de comparer 2 bases de données (soit directement les bases de données soit des fichiers DDL, soit -idéalement- un fichier DDL et une base de données existantes) et qui génèrerait les commandes SQL (en DDL) pour permettre de passer d'une version à une autre … et bien entendu de manière le plus intelligente possible.

Par exemple, si on ajoute une colonne dans une table, ne pas faire un DROP TABLE puis un CREATE TABLE mais un ALTER TABLE.

J'ai trouvé quelques logiciels commerciaux que nous sommes en train d'évaluer mais j'aurai préféré un logiciel libre ou Open Source … et là je n'en ai trouvé aucun.

Merci d'avance

  • # Type de la base de données

    Posté par  . Évalué à 1.

    Est ce une base de données de type mysql.
    Si c'est le cas, essayer de faire un dump des bases de données et les comparer

  • # Quel SGBD ?

    Posté par  (site web personnel, Mastodon) . Évalué à 3.

    Si c'est du Postgres, tu as de la chance car pgAdmin propose ça : https://www.pgadmin.org/docs/pgadmin4/6.18/schema_diff.html

    Sinon il y a DBeaver, mais évidemment si l'édition Community est libre/gratuite, cette fonctionnalité n'en fait pas partie et est réservée à l'édition Enterprise…

  • # Pas libre : sqlyog

    Posté par  . Évalué à 3.

    Bonjour,
    Si ce sont des bases mysql, Sqlyog a cette fonctionnalité.
    Il fourni des ALTER par contre pour le fichier de résultat.
    C'est le dernier logiciel qui m'a fait garder une VM windows… et puis j'ai réussi à le faire marcher dans Wine.

  • # sqldiff

    Posté par  (Mastodon) . Évalué à 6. Dernière modification le 05 janvier 2023 à 08:35.

    Avec une base SQLite tu as l'outil sqldiff.

    Usage: sqldiff [options] DB1 DB2
    Output SQL text that would transform DB1 into DB2.
    […]
    --schema Show only differences in the schema

    • Yth.
  • # Oracle SQL Developer

    Posté par  . Évalué à 2.

    Oracle SQL Developer permet de se connecter aux bdd éditées par Oracle (Oracle DB et MySql) mais aussi à Postgresql via un driver jdbc et propose, me semble t'il, cette fonctionnalité.

    https://www.oracle.com/database/sqldeveloper/

  • # Merci

    Posté par  (site web personnel) . Évalué à 1.

    Merci pour les recommandations (dire que j'avais oublié mon logiciel favori DBeaver … mais je ne savais pas qu'il pouvait faire ça, ne l'ayant utilisé qu'en version communautaire).

    Effectivement, j'avais omis de préciser que c'était pour de l'Oracle dans un premier temps, du MySQL dans un second temps, et probablement encore d'autres dans un 3ème temps.
    (dommage pour sqldiff)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.