ayant galéré la demi journée sur ce probleme basique, je poste ici le resultat histoire d'y acceder rapidement

on recupere le singleton manager

$manager=Doctrine_Manager::getInstance();

et la connection en cours (pour ma part a ce stade, il n'y en a qu'une, celle definie dans le database.yml)

$con=$manager->getCurrentConnection();

avec cette ligne, $info est un tableau qui contient la decomposition du DSN

$info = $manager->parsePdoDsn($con->getOption('dsn'));

ce qui me permet de recomposer un nouveau DSN en changeant le nom de la database (sur ce point je n'ai pas vu de methode qui faisait l'inverse de parseDsn, a savoir de recomposer une dsn a partir du tableau $info)

$dsn=$info['scheme'].'://'.$con->getOption('username').':'.$con->getOption('password').'@'.$info['host'].'/charles_10';
//en clair ca donne mysql://user:password@localhost/charles_10

creation d'un nouvel objet connection avec ma dsn, nommé pour des raisons pratique identiquement au nom de la database
a ce moment, rien n'est fait au niveau SQL

$con_new = Doctrine_Manager::connection($dsn, 'charles_10');

ici je modifie SQL pour creer ma nouvelle database

$con_new->createDatabase();

et la, a partir de l'objet Doctrine "MonObjet" que j'ai créé precedement, je vais creer l'equivalent SQL sur ma database

$objet=new MonObjet($con_new);
try
{
  $table = $objet->getTable();
  $con_new->export->createTable($table->getTableName(),$table->getColumns());//y a ce "export" qui est tres obscur pour moi, pas mentionné dans l'API Doctrine
}
catch (Doctrine_Connection_Exception $e)
{
  throw new Exception('echec de la creation de la table '.$table->getTableName()."\n".$e->getMessage());
}

je suis tombé sur un cas où la definition de la table a chié (avec un 'default'=>false), me petant une erreur 500 assez incomprehensible, et la trace (la pile d'appel) etait perdu dans les classes Doctrines, donc une erreur plutot dur a retrouver
je met donc un try catch en relancant une erreur un peu plus explicite, et la pile d'appel me permet de tomber directement sur la ligne du throw