Da ich zuerst dachte, dass Propel die xml-Datei bestimmt direkt in SQL-Code umwandelt, habe ich mir einen "Schema Builder" gebastelt, der die XML-Datei dynamisch erstellen kann. Der funktioniert soweit ich weiß auch einwandfrei und zwar wie folgt:
PHP-Code:
$test = new SchemaBuilder('path/to/output', 'db_name', false, array('defaultIdMethod', array('package' => 'test', [... further db params])));
$params = array('idMethod' => 'test'); //the params you can give a table
$references_1 = array(array('local' => 'test', 'foreign' => 'test')); //references for a foreign key
$foreignKey_1 = array('foreignTable' => 'test', 'foreignSchema' => 'test', 'references' => $references_1);
$foreignKeys = array($foreignKey_1);
$additional_elements = array('foreignKeys' => $foreignKeys); //additional elements inside of the table like unique, index, foreignKey etc.
$table_1 = $test->add('table_1', array($params, $additional_elements));
$table_1->column_1(array('test', array('size' => 15)));
$table_1->column_2(array(1, array('primaryKey' => true)));

Jetzt hoffe ich natürlich, dass ich den Builder nicht umsonst gebastelt habe. Kennt sich vielleicht einer mit Propel aus, und weiß wie man die Schema-Datei mittels PHP Code in die entsprechende Datenbank überführt? Wenn das mit Propel per Konsole geht muss es doch auch irgendwie ohne Konsole gehen?
P.S.: Für diejenigen die sich für den Schema Builder interessieren, hier gibts den Code!