Archive for avril, 2007

un petit batch pour symfony Lundi, avril 30th, 2007

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 …

symfony class_implements() & iconv() sur un BSD Vendredi, avril 13th, 2007

Call to undefined function iconv()
Call to undefined function class_implements()

SI vous avez ces messages au court de vos développements symfony c’est que PHP5 n’est pas compilé avec les bons flags:
Pour iconv() extension iconv

portinstall php5-iconv

Pour class_implements() extension spl

portinstall php5-spl