From 88f5bfda60e914cb28e18dbd615be1f454b056d2 Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Thu, 8 Aug 2013 16:00:36 +0200 Subject: [PATCH] Fix sqlite regenration command --- .../Command/Developer/RegenerateSqliteDb.php | 30 +++++++++++++++--- tests/db-ref.sqlite | Bin 47104 -> 47104 bytes 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/lib/Alchemy/Phrasea/Command/Developer/RegenerateSqliteDb.php b/lib/Alchemy/Phrasea/Command/Developer/RegenerateSqliteDb.php index aea31b7770..4f36152a2c 100644 --- a/lib/Alchemy/Phrasea/Command/Developer/RegenerateSqliteDb.php +++ b/lib/Alchemy/Phrasea/Command/Developer/RegenerateSqliteDb.php @@ -4,8 +4,15 @@ namespace Alchemy\Phrasea\Command\Developer; use Alchemy\Phrasea\Command\Command; use Doctrine\ORM\Tools\Setup; +use Doctrine\ORM\Configuration as ORMConfiguration; use Doctrine\ORM\Tools\SchemaTool; use Doctrine\ORM\EntityManager; +use Doctrine\Common\Annotations\AnnotationReader; +use Doctrine\Common\Annotations\AnnotationRegistry; +use Doctrine\Common\Annotations\FileCacheReader; +use Doctrine\Common\EventManager; +use Doctrine\ORM\Mapping\Driver\AnnotationDriver; +use Doctrine\ORM\Mapping\Driver\DriverChain; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Filesystem\Filesystem; @@ -32,13 +39,28 @@ class RegenerateSqliteDb extends Command $dbParams = $this->container['phraseanet.configuration']->getTestConnectionParameters(); $dbParams['path'] = $source; - $config = Setup::createYAMLMetadataConfiguration(array(__DIR__ . '/../../../../conf.d/Doctrine'), true); - $em = EntityManager::create($dbParams, $config); + $config = new ORMConfiguration(); + AnnotationRegistry::registerFile( + $this->container['root.path'].'/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php' + ); + + $annotationReader = new AnnotationReader(); + $driverChain = new DriverChain(); + $annotationDriver = new AnnotationDriver( + $annotationReader, + array($this->container['root.path'].'/lib/Doctrine/Entities') + ); + $driverChain->addDriver($annotationDriver, 'Entities'); + + $config->setAutoGenerateProxyClasses(true); + $config->setMetadataDriverImpl($driverChain); + $config->setProxyDir($this->container['root.path'] . '/lib/Doctrine/Proxies'); + $config->setProxyNamespace('Proxies'); + + $em = EntityManager::create($dbParams, $config, new EventManager()); $metadatas = $em->getMetadataFactory()->getAllMetadata(); - $schemaTool = new SchemaTool($em); - $schemaTool->createSchema($metadatas); } catch (\Exception $e) { $fs->rename($target, $source); diff --git a/tests/db-ref.sqlite b/tests/db-ref.sqlite index 708862974832b57b87007ade53dba9bd42e3bc02..ce013a619dfe40564b4672568aaa44c2fb451f58 100644 GIT binary patch delta 67 zcmZqpz|`=8X+uBr{h{T_~hgos*21en@1!97m-!qysZf+1; P?=tysiTmcV=&l$5fc_e- delta 91 zcmZqpz|`=8X+uBr