Example #1
0
 function syncdb()
 {
     # note: same as build without write
     # - separate build to build+build-write ?
     $b = new SalamaBuild();
     $classes = $b->getModelnames();
     foreach ($classes as $c) {
         $b->genTable($c);
     }
     $b->processConstraints();
     $b->setTableNames();
     $r = $b->createTable();
     $sql = implode("\n", $r);
     # databases in use
     # @TODO cleanup. duplicate code from SalamaSuite.php
     $xml = simplexml_load_string(file_get_contents(Salama::$_settings['config'] . '/databases.xml'));
     $env = Salama::$_settings['env'];
     $res = $xml->xpath("//configuration[@environment='{$env}']/database");
     $dbInUse = array();
     foreach ($res as $row) {
         $dsn = trim($row->dsn);
         $parts = explode('/', $dsn);
         $db = array_pop($parts);
         $dbInUse[] = $db;
     }
     # [/END-NON-DRY]
     Model::raw($sql)->goraw();
 }