コード例 #1
0
ファイル: db_setup.php プロジェクト: elymatos/expressive
function getEntitiesMetaData($em)
{
    $cmf = new Doctrine\ORM\Tools\DisconnectedClassMetadataFactory();
    $cmf->setEntityManager($em);
    // we must set the EntityManager
    $driver = $em->getConfiguration()->getMetadataDriverImpl();
    $classes = $driver->getAllClassNames();
    $metadata = array();
    foreach ($classes as $class) {
        //any unsupported table/schema could be handled here to exclude some classes
        if (true) {
            $metadata[] = $cmf->getMetadataFor($class);
        }
    }
    return $metadata;
}
コード例 #2
0
ファイル: Toolbox.class.php プロジェクト: Niggu/cloudrexx
 protected function sql2Yaml($sql)
 {
     \DBG::activate(DBG_PHP);
     $em = \Env::get('em');
     $em->getConfiguration()->setMetadataDriverImpl(new \Doctrine\ORM\Mapping\Driver\DatabaseDriver($em->getConnection()->getSchemaManager()));
     $cmf = new \Doctrine\ORM\Tools\DisconnectedClassMetadataFactory();
     $cmf->setEntityManager($em);
     return;
     $metadata = $cmf->getMetadataFor('ContrexxContentPage');
     //$metadata = $cmf->getAllMetadata();
     $exporter = $cme->getExporter('yml', '/path/to/export/yml');
     $exporter->setMetadata($metadata);
     return $exporter->export();
 }
コード例 #3
0
ファイル: DefaultModel.php プロジェクト: controleonline/core
 public function getMetadata($entity_name)
 {
     $cmf = new \Doctrine\ORM\Tools\DisconnectedClassMetadataFactory();
     $cmf->setEntityManager($this->_em);
     return $cmf->getMetadataFor($entity_name);
 }
コード例 #4
0
ファイル: Store.php プロジェクト: williamamed/Raptor2
 /**
  * 
  * Genera las tablas a partir de los modelos especificados en el array $classes
  * El alias no es mas que el nombre acortado del bundle de donde pertenecen los
  * modelos
  * 
  * $this->getStore()->generateSchema('exampleBundle',array('Persona'));
  * 
  * @param string $alias nombre acortado del bundle donde pertenecen los modelos
  * @param array $classes clases modelos a generar sus tablas
  */
 public function generateSchema($alias, $classes = array())
 {
     $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($this->entityManager);
     $driver = $this->entityManager->getConfiguration()->newDefaultAnnotationDriver($this->annotations);
     $this->entityManager->getConfiguration()->setMetadataDriverImpl($driver);
     $cmf = new \Doctrine\ORM\Tools\DisconnectedClassMetadataFactory();
     $cmf->setEntityManager($this->entityManager);
     $metaInformation = new ItemList($classes);
     $me = $this;
     $schemas = array();
     $metaInformation->each(function ($key, $value, $list) use(&$alias, &$cmf, &$me, &$schemas) {
         $meta = $cmf->getMetadataFor($alias . ':' . $value);
         $list->set($key, $meta);
         $tableDef = explode('.', $meta->table['name']);
         if (count($tableDef) > 1) {
             $schemas[$tableDef[0]] = $tableDef[0];
         }
     });
     $schemaTool->createSchema($metaInformation->getArray());
 }