diff --git a/main/inc/lib/database.lib.php b/main/inc/lib/database.lib.php index e8a3a7cc4c..77a93702d1 100755 --- a/main/inc/lib/database.lib.php +++ b/main/inc/lib/database.lib.php @@ -3,10 +3,12 @@ /* For licensing terms, see /license.txt */ use Doctrine\Common\Annotations\AnnotationRegistry; +use Doctrine\Common\Proxy\AbstractProxyFactory; use Doctrine\DBAL\Connection; use Doctrine\DBAL\Driver\Statement; use Doctrine\DBAL\Types\Type; use Doctrine\ORM\EntityManager; +use Doctrine\ORM\Tools\Setup; use Symfony\Component\Debug\ExceptionHandler; /** @@ -148,22 +150,6 @@ class Database $returnManager = false ) { $config = self::getDoctrineConfig($entityRootPath); - $autoGenerate = Doctrine\Common\Proxy\AbstractProxyFactory::AUTOGENERATE_NEVER; - if (api_get_setting('server_type') == 'test') { - $autoGenerate = Doctrine\Common\Proxy\AbstractProxyFactory::AUTOGENERATE_ALWAYS; - } - $config->setAutoGenerateProxyClasses($autoGenerate); - - $config->setEntityNamespaces( - [ - 'ChamiloUserBundle' => 'Chamilo\UserBundle\Entity', - 'ChamiloCoreBundle' => 'Chamilo\CoreBundle\Entity', - 'ChamiloCourseBundle' => 'Chamilo\CourseBundle\Entity', - 'ChamiloSkillBundle' => 'Chamilo\SkillBundle\Entity', - 'ChamiloTicketBundle' => 'Chamilo\TicketBundle\Entity', - 'ChamiloPluginBundle' => 'Chamilo\PluginBundle\Entity', - ] - ); $params['charset'] = 'utf8'; $entityManager = EntityManager::create($params, $config); @@ -783,7 +769,7 @@ class Database */ public static function getDoctrineConfig($path) { - $isDevMode = api_get_setting('server_type') == 'test'; // Forces doctrine to use ArrayCache instead of apc/xcache/memcache/redis + $isDevMode = true; // Forces doctrine to use ArrayCache instead of apc/xcache/memcache/redis $isSimpleMode = false; // related to annotations @Entity $cache = null; $path = !empty($path) ? $path : api_get_path(SYS_PATH); @@ -805,7 +791,7 @@ class Database $proxyDir = $path.'app/cache/'; - $config = \Doctrine\ORM\Tools\Setup::createAnnotationMetadataConfiguration( + $config = Setup::createAnnotationMetadataConfiguration( $paths, $isDevMode, $proxyDir, @@ -813,6 +799,19 @@ class Database $isSimpleMode ); + $config->setAutoGenerateProxyClasses(AbstractProxyFactory::AUTOGENERATE_FILE_NOT_EXISTS); + + $config->setEntityNamespaces( + [ + 'ChamiloUserBundle' => 'Chamilo\UserBundle\Entity', + 'ChamiloCoreBundle' => 'Chamilo\CoreBundle\Entity', + 'ChamiloCourseBundle' => 'Chamilo\CourseBundle\Entity', + 'ChamiloSkillBundle' => 'Chamilo\SkillBundle\Entity', + 'ChamiloTicketBundle' => 'Chamilo\TicketBundle\Entity', + 'ChamiloPluginBundle' => 'Chamilo\PluginBundle\Entity', + ] + ); + return $config; }