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(); }