Forum général.cherche-logiciel Générateur de SQL Create scripts

Posté par  (site web personnel) .
Étiquettes : aucune
0
27
juil.
2010
Bonjour,
je travaille sur un projet qui nécessite la génération d'un fichier sql PostgresSQL à partir d'un modèle de base de données au format xml. Actuellement, nous utilisons le logiciel libre DBDesignerFork.
http://sourceforge.net/projects/dbdesigner-fork/

Malheureusement la génération ne peut être effectuée en ligne de commande, et cela m'empêche de l'automatiser. L'environnement est multiplateforme Windows/Linux, il me faudrait donc une solution multi-plateforme également.

Est-ce que quelqu'un aurait déjà été confronté au même soucis ?
Merci d'avance.
  • # export ?

    Posté par  . Évalué à 2.

    le soft ne fait pas l'export du modele de base données au format SQL ?
    etonnant ?

    ca pourrait faire l'objet d'une feature request
    • [^] # Re: export ?

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

      Si, mais pas en ligne de commande... Il faut faire l'export via l'interface graphique, et donc je ne peux pas l'automatiser simplement.
      • [^] # Re: export ?

        Posté par  . Évalué à 2.

        tu utlises dbdesigner en ligne de commande ? j'ai pas compris ton probleme alors ?

        J'ai compris que tu utilisais dbdesigner pour faire ton modele.
        Et que tu voulais convertir le modele dbdesigner (xml) en un fichier sql que tu puisses injecter dans mysql/postgresql.

        et cela s'appelle "exporter un modele" au format SQL.

        La ligne de commande, c'est ensuite ce que tu vas utiliser pour generer la base de donnée.

        Donc c'est bien une fonctionnalité manquante à dbdesigner-fork, que de proposer une export de ce que tu as dans le logiciel en fichier SQL.
        • [^] # Re: export ?

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

          Je répète une nouvelle fois...

          J'utilise DBDesigner Fork en mode graphique. DBDesigner Fork n'offre pas de fonctionnalités en ligne de commande. Je ne peux donc exporter le modèle XML au format SQL (via File->Export->SQL Create script) qu'en mode graphique.

          Je voudrais automatiser cette opération, mais comme l'outil ne propose qu'un mode graphique, c'est difficile. C'est pourquoi je cherche un autre outil, ou un patch dbdesigner qui ajouterait une couche de gestion en ligne de commande.
          • [^] # Re: export ?

            Posté par  . Évalué à 2.

            j'ai pas du tout comprendre.

            Et je ne vois pas ce que tu veux "automatiser".

            Tu utilises un outil (dbdesigner-fork) , quand tu finis ton schema de base de données, tu l'exportes au format SQL.

            Alors à moins que tu ne scriptes la creation de ton schema XML et que tu veuilles ensuite generer le fichier SQL correspondant, je ne vois pas trop ou est ton besoin de ligne de commande pour convertir ton schema dbdesigner.
            • [^] # Re: export ?

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

              Je veux automatiser la conversion model.xml -> script.sql, afin que le script soit mis à jour à chaque fois que le modèle change.
              • [^] # Re: export ?

                Posté par  . Évalué à 2.

                mais le modele change parce que tu le modifies avec dbdesigner ?

                donc pourquoi sauvegarder au format XML et faire une conversion automatique plutot qu'un enregistrement directement en SQL ?

                (c'est ca que je ne comprend pas, d'autant que le logiciel sait faire ce format d'enregistrement)

                c'est comme si tu disais, je voudrais convertir en ligne de commande un document ODF en document MSoffice car je modifie souvent ce fichier avec openoffice.

                la reponse est : enregistre au format MSoffice par defaut, tu resouds tous tes problemes.

                (mais openoffice est un faux exemple, car il y a openffice-headless pour pouvoir scripter)
                • [^] # Re: export ?

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

                  Hé bien écoute, ce n'est pas ce que je vois, en tout cas avec dbdesigner 1.4. Un "open" ou un "save as" ne gère que le format XML. Pour avoir un .sql, il faut faire un export, mais le format d'entrée est le XML.
  • # DdlUtils

    Posté par  . Évalué à 3.

    Il y a ddlUtils
    http://db.apache.org/ddlutils/
    c'est un projet en java d'abstraction de base de données qui travaille sur une représentation XML du schéma (et éventuellement des données) et qui peut le convertir en script SQL ou directement les exécuter sur les différentes DB cibles. Il peut même être utilisé pour mettre à jour un schéma existant.
    Il faudra faire un peu de programmation en java pour lui faire faire ce que tu veux, mais si tu ne veux gérer que la conversion XML vers SQL pour postgres ça devrait le faire en quelque dizaines de lignes.

    Par contre le projet n'évolue plus beaucoup, donc s'il ne gère pas tout ce dont tu as besoin faut pas espérer que ça change rapidement.
  • # En passant par Propel

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

    Si tu peux exécuter des scripts PHP, il y a un moyen en passant par Propel [http://www.propelorm.org/]

    Il existe des scripts pour transformer des schémas XML de DBDesigner en schémas XML pour Propel.
    Par exemple, un script (avec interface web, mais modifiable très simplement pour l'utiliser en CLI) : [http://leblanc-simon.eu/utils_dbdesigner2propel.zip]

    Ensuite, la transformation du XML généré en script SQL se fait via Propel avec une commande du style : propel-gen sql

    Cela nécessite l'installation de Propel, mais une fois en place, ça se scripte très bien.

Suivre le flux des commentaires

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