Définitivement j’utilise DBDesigner, et pour avoir un schema.xml à partir du xml généré par DBdesigner j’utilisais ce script en ligne : http://blog.tooleshed.com/docs/dbd2propel/transform.php
Histoire de gagner un peu de temps j’ai pris la décision de mettre le schema de base de données DBDesigner dans data/schema et de le nommer db.xml, ainsi il est toujours dans mon projet …
J’y ai ajouté dbd2propel.xsl : ce fichier est LA version qui a fonctionné pour moi !
J’ai donc adapté (de manière mineure j’en conviens) le script du lien sus cité de la manière suivante:
<?php
$dbPath = "data/schema/db.xml";
$xslPath = "data/schema/dbd2propel.xsl";
$schemaPath = "config/schema.xml";
if (file_exists($dbPath))
{
$file = fopen($dbPath,"r");
while (!feof($file))
{
$xmlstr.=fgets($file, 4096);
}
fclose($file);
$xml = new DomDocument; // from /ext/dom
$xml->loadXML($xmlstr);
$xsl = new DomDocument;
$xsl->load($xslPath);
$proc = new xsltprocessor;
$proc->importStyleSheet($xsl); // attach the xsl rules
$xmlstr = $proc->transformToXML($xml);
$file = fopen($schemaPath,"w");
fputs($file,$xmlstr);
fclose($file);
}
else{
echo "data/schema/db.xml NOT FOUND";
}
L’ai sauvé dans batch/convertdb.php et j’ai ajouté
php batch/convertdb.php
dans la séquence de commande qui me sert à regénéré le schéma et éventuellement le SQL …
