Example #1
0
 /**
  * @param Configuration $cliConfig
  */
 protected function _doRun(\Doctrine\Common\Cli\Configuration $cliConfig)
 {
     if (!is_writable(dirname($this->installSqlFile))) {
         throw new \BuildException("Directory to write Install Sql File into is not writable.");
     }
     $em = $cliConfig->getAttribute('em');
     $schemaTool = new \Doctrine\ORM\Tools\SchemaTool($em);
     $cmf = $em->getMetadataFactory();
     $classes = $cmf->getAllMetadata();
     $sql = $schemaTool->getCreateSchemaSql($classes);
     $code = "<?php\n\nreturn " . var_export($sql, true) . ";\n";
     file_put_contents($this->installSqlFile, $code);
     $this->log("Wrote the Array of SQL statements to create schema to file " . $this->installSqlFile);
 }
 /**
  * @param Configuration $cliConfig
  */
 protected function _doRun(\Doctrine\Common\Cli\Configuration $cliConfig)
 {
     if ($this->proxyDir !== null && (!is_dir($this->proxyDir) || !is_writable($this->proxyDir))) {
         throw new \BuildException("Proxy directory is not valid or writable.");
     }
     /* @var $cliConfig \Doctrine\Common\Cli\Configuration */
     $em = $cliConfig->getAttribute('em');
     $cmf = $em->getMetadataFactory();
     $classes = $cmf->getAllMetadata();
     $factory = $em->getProxyFactory();
     if (empty($classes)) {
         $this->log('No classes to generate proxies for.');
     } else {
         $proxyDir = $this->proxyDir != null ? $this->proxyDir : $em->getConfiguration()->getProxyDir();
         $factory->generateProxyClasses($classes, $proxyDir);
         $this->log('Doctrine 2 proxy classes generated to: ' . $proxyDir);
     }
 }