forked from libertempo/api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrun.php
45 lines (36 loc) · 1.57 KB
/
run.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
/**
* User: diegofonseca
* Date: 09/01/14
* Time: 13:37
*/
require_once 'Vendor/autoload.php';
include_once 'config.php';
ini_set("display_errors", $configuration['display_error']);
$classLoader = new \Doctrine\Common\ClassLoader('Doctrine');
$classLoader->register();
$config = new \Doctrine\ORM\Configuration();
$config->setMetadataDriverImpl($config->newDefaultAnnotationDriver($configuration['entities']['path']));
$config->setMetadataCacheImpl(new \Doctrine\Common\Cache\ArrayCache);
$config->setProxyDir($configuration['proxies']['path']);
$config->setProxyNamespace($configuration['proxies']['name']);
$connectionParams = $configuration['db'];
$em = \Doctrine\ORM\EntityManager::create($connectionParams, $config);
$conn = $em->getConnection();
$conn->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string');
$driver = new \Doctrine\ORM\Mapping\Driver\DatabaseDriver($em->getConnection()->getSchemaManager());
$em->getConfiguration()->setMetadataDriverImpl($driver);
$cmf = new \Doctrine\ORM\Tools\DisconnectedClassMetadataFactory();
$cmf->setEntityManager($em);
// var_dump($classes);exit();
$classes = $driver->getAllClassNames();
$metadata = [];
foreach ($classes as $class) {
$metadata[] = $cmf->getMetadataFor($class);
}
$generator = new \Doctrine\ORM\Tools\EntityGenerator();
$generator->setRegenerateEntityIfExists(true);
$generator->setGenerateStubMethods($configuration['getter_setter']);
$generator->setGenerateAnnotations($configuration['annotation']);
$generator->generate($metadata, $configuration['entities']['path']);
print $configuration['message'];