Ejemplo n.º 1
0
        AnnotationRegistry::registerFile(__DIR__ . '/../vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php');
        $driver = new AnnotationDriver(new CachedReader(new AnnotationReader(), new ArrayCache()), array(__DIR__ . '/../library/Xi/Filelib/Backend/Adapter/DoctrineOrm/Entity'));
        $config = new Configuration();
        $config->setMetadataDriverImpl($driver);
        $config->setProxyDir(ROOT_TESTS . '/data/temp');
        $config->setProxyNamespace('Proxies');
        $em = EntityManager::create($this->connectionOptions, $config);
        $st = new SchemaTool($em);
        $metadata = $st->getCreateSchemaSql($em->getMetadataFactory()->getAllMetadata());
        return join(";\n", $metadata) . ";\n";
    }
}
if ($argc < 2) {
    echo <<<EOT
usage: php {$argv['0']} <driver>

example: php {$argv['0']} sqlite
example: php {$argv['0']} mysql
example: php {$argv['0']} pgsql

EOT;
    die;
}
$options['driver'] = 'pdo_' . $argv[1];
$options['host'] = '127.0.0.1';
// $options['username'] = '******';
// $options['password'] = '******';
// $options['dbname'] = 'dbname';
$generator = new SchemaGenerator($options);
echo $generator->generate();
Ejemplo n.º 2
0
 /**
  * generateSchema
  *
  * @param $className
  * @return \DOMDocument
  */
 static function generateSchema($className)
 {
     $g = new SchemaGenerator();
     return $g->generate($className);
 }