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 NeoX . Évalué à 2.
etonnant ?
ca pourrait faire l'objet d'une feature request
[^] # Re: export ?
Posté par liberforce (site web personnel) . Évalué à 2.
[^] # Re: export ?
Posté par NeoX . Évalué à 2.
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 liberforce (site web personnel) . Évalué à 2.
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 NeoX . Évalué à 2.
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 liberforce (site web personnel) . Évalué à 2.
[^] # Re: export ?
Posté par NeoX . Évalué à 2.
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 liberforce (site web personnel) . Évalué à 2.
# DdlUtils
Posté par wismerhill . Évalué à 3.
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 leviathan (site web personnel) . Évalué à 1.
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.