public function initialize($parameters = array()) { parent::initialize($parameters); $schema = $this->getParameter('schema'); $connectionName = $this->getParameter('name'); $connectionOptions = $this->getParameter('options'); $plugins = (array) $this->getParameter('plugins'); $config = new \Doctrine\ORM\Configuration(); $config->setMetadataCacheImpl(new \Doctrine\Common\Cache\ArrayCache()); $configuration = sfProjectConfiguration::getActive(); $paths = array(); if ($schema) { $paths[] = $schema; } $paths[] = realpath(__DIR__ . '/../config/doctrine'); $paths[] = realpath(sfConfig::get('sf_config_dir') . '/doctrine'); $enabledPlugins = $configuration->getPlugins(); foreach ($configuration->getAllPluginPaths() as $plugin => $path) { if (!in_array($plugin, $enabledPlugins) || !in_array($plugin, $plugins)) { continue; } $paths[] = $path . '/config/doctrine'; } $paths = array_unique($paths); $config->setMetadataDriverImpl(new YamlDriver($paths)); $config->setProxyDir(sfConfig::get('sf_lib_dir') . '/Proxies'); $config->setProxyNamespace('Proxies'); $configuration = sfProjectConfiguration::getActive(); if (sfConfig::get('sf_debug')) { $config->setSqlLogger(new sfDoctrineSqlLogger($configuration->getEventDispatcher())); } $method = sprintf('configureDoctrineConnection%s', $connectionName); $methodExists = method_exists($configuration, $method); if (method_exists($configuration, 'configureDoctrineConnection') && !$methodExists) { $configuration->configureDoctrineConnection($config); } else { if ($methodExists) { $configuration->{$method}($config); } } $this->em = \Doctrine\ORM\EntityManager::create($connectionOptions, $config); if (method_exists($configuration, 'configureEntityManager')) { $configuration->configureEntityManager($this->em); } ActiveEntity::setEntityManager($this->em); // ODM MongoDB $config = new Doctrine\ODM\MongoDB\Configuration(); $config->setProxyDir(sfConfig::get('sf_lib_dir') . '/Proxies'); $config->setProxyNamespace('Proxies'); $reader = new Doctrine\Common\Annotations\AnnotationReader(); $reader->setDefaultAnnotationNamespace('Doctrine\\ODM\\MongoDB\\Mapping\\'); $config->setMetadataDriverImpl(new Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($reader, sfConfig::get('sf_lib_dir') . DIRECTORY_SEPARATOR . 'Documents')); $this->dm = Doctrine\ODM\MongoDB\DocumentManager::create(new \Doctrine\ODM\MongoDB\Mongo(), $config); }
/** * @return DocumentManager */ protected function createTestDocumentManager($paths = array()) { $config = new \Doctrine\ODM\MongoDB\Configuration(); $config->setAutoGenerateProxyClasses(true); $config->setProxyDir(\sys_get_temp_dir()); $config->setHydratorDir(\sys_get_temp_dir()); $config->setProxyNamespace('SymfonyTests\\Doctrine'); $config->setHydratorNamespace('SymfonyTests\\Doctrine'); $config->setMetadataDriverImpl($config->newDefaultAnnotationDriver($paths)); $config->setMetadataCacheImpl(new \Doctrine\Common\Cache\ArrayCache()); return DocumentManager::create(new Connection(), $config); }
public function formatDBName($dbName) { return sprintf('%s%s%s', $this->config->getDatabasePrefix(), $dbName, $this->config->getDatabaseSuffix() ); }
protected function setUp() { $config = new \Doctrine\ODM\MongoDB\Configuration(); $config->setHydratorDir(sys_get_temp_dir()); $config->setHydratorNamespace('Hydrators'); $config->setProxyDir(sys_get_temp_dir()); $config->setProxyNamespace('Proxies'); $locatorXml = new SymfonyFileLocator(array(__DIR__ . '/../../../../../lib/Vespolina/Action/Mapping' => 'Vespolina\\Entity\\Action'), '.mongodb.xml'); $xmlDriver = new XmlDriver($locatorXml); $config->setMetadataDriverImpl($xmlDriver); $config->setMetadataCacheImpl(new ArrayCache()); $config->setAutoGenerateProxyClasses(true); $doctrineODM = \Doctrine\ODM\MongoDB\DocumentManager::create(null, $config); $this->actionGateway = new ActionDoctrineMongoDBGateway($doctrineODM, 'Vespolina\\Entity\\Action\\Action'); parent::setUp(); }
/** * Returns the MongoDB instance for a class. * * @param string $className The class name. * @return Doctrine\MongoDB\Database */ public function getDocumentDatabase($className) { if (isset($this->documentDatabases[$className])) { return $this->documentDatabases[$className]; } $metadata = $this->metadataFactory->getMetadataFor($className); $db = $metadata->getDatabase(); $db = $db ? $db : $this->config->getDefaultDB(); $db = $db ? $db : 'doctrine'; $this->documentDatabases[$className] = $this->connection->selectDatabase($db); return $this->documentDatabases[$className]; }
protected function dbSetUp() { $config = new \Doctrine\ODM\MongoDB\Configuration(); $config->setHydratorDir(sys_get_temp_dir()); $config->setHydratorNamespace('Hydrators'); $config->setProxyDir(sys_get_temp_dir()); $config->setProxyNamespace('Proxies'); $locatorXml = new SymfonyFileLocator(array(__DIR__ . '/../../../../lib/Vespolina/Brand/Mapping' => 'Vespolina\\Entity\\Brand', __DIR__ . '/../../../../lib/Vespolina/Product/Mapping' => 'Vespolina\\Entity\\Product', __DIR__ . '/../../../../lib/Vespolina/Pricing/Mapping' => 'Vespolina\\Entity\\Pricing', __DIR__ . '/../../../../vendor/vespolina/taxonomy/lib/Vespolina/Taxonomy/Mapping' => 'Vespolina\\Entity\\Taxonomy'), '.mongodb.xml'); $xmlDriver = new XmlDriver($locatorXml); $config->setMetadataDriverImpl($xmlDriver); $config->setMetadataCacheImpl(new ArrayCache()); $config->setAutoGenerateProxyClasses(true); $doctrineODM = \Doctrine\ODM\MongoDB\DocumentManager::create(null, $config); $doctrineODM->getEventManager()->addEventSubscriber(new TreeListener()); $this->brandGateway = new BrandDoctrineMongoDBGateway($doctrineODM, 'Vespolina\\Entity\\Brand\\Brand'); $this->productGateway = new ProductDoctrineMongoDBGateway($doctrineODM, 'Vespolina\\Entity\\Product\\Product'); $this->taxonomyGateway = new TaxonomyDoctrineMongoDBGateway($doctrineODM, 'Vespolina\\Entity\\Taxonomy\\TaxonomyNode'); }
protected function _createDocumentManager($metadataDriver) { $connMock = new ConnectionMock(); $config = new \Doctrine\ODM\MongoDB\Configuration(); $config->setProxyDir(__DIR__ . '/../../Proxies'); $config->setProxyNamespace('Doctrine\\ODM\\MongoDB\\Tests\\Proxies'); $config->setHydratorDir(__DIR__ . '/../../Hydrators'); $config->setHydratorNamespace('Doctrine\\ODM\\MongoDB\\Tests\\Hydrators'); $eventManager = new EventManager(); $mockDriver = new MetadataDriverMock(); $config->setMetadataDriverImpl($metadataDriver); return DocumentManagerMock::create($connMock, $config, $eventManager); }
/** * Create a DocumentManager instance for tests. * * @return Doctrine\ODM\MongoDB\DocumentManager */ protected function getMockMongoDbDocumentManager() { $prefixes = array(__DIR__ . '/../../Resources/config/model' => 'Lexik\\Bundle\\TranslationBundle\\Model', __DIR__ . '/../../Resources/config/doctrine' => 'Lexik\\Bundle\\TranslationBundle\\Document'); $xmlDriver = new \Doctrine\Bundle\MongoDBBundle\Mapping\Driver\XmlDriver($prefixes); $cache = new \Doctrine\Common\Cache\ArrayCache(); $config = new \Doctrine\ODM\MongoDB\Configuration(); $config->setMetadataCacheImpl($cache); $config->setMetadataDriverImpl($xmlDriver); $config->setProxyDir(sys_get_temp_dir()); $config->setProxyNamespace('Proxy'); $config->setAutoGenerateProxyClasses(true); $config->setClassMetadataFactoryName('Doctrine\\ODM\\MongoDB\\Mapping\\ClassMetadataFactory'); $config->setDefaultDB('lexik_translation_bundle_test'); $config->setHydratorDir(sys_get_temp_dir()); $config->setHydratorNamespace('Doctrine\\ODM\\MongoDB\\Hydrator'); $config->setAutoGenerateHydratorClasses(true); $config->setDefaultCommitOptions(array()); $options = array(); $conn = new \Doctrine\MongoDB\Connection(null, $options, $config); $dm = \Doctrine\ODM\MongoDB\DocumentManager::create($conn, $config); return $dm; }
/** * Gets the 'doctrine_mongodb.odm.default_configuration' service. * * This service is shared. * This method always returns the same instance of the service. * * @return \Doctrine\ODM\MongoDB\Configuration A Doctrine\ODM\MongoDB\Configuration instance. */ protected function getDoctrineMongodb_Odm_DefaultConfigurationService() { $a = new \Doctrine\Common\Cache\ArrayCache(); $a->setNamespace('sf2mongodb_default_f8e1861c29d51710d03fc757e3effb289ace6597b2362f1871b5952432e41cd1'); $b = new \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain(); $b->addDriver(new \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($this->get('annotation_reader'), array(0 => $this->targetDirs[3] . '/src/Acme/PersonBundle/Document')), 'Acme\\PersonBundle\\Document'); $c = new \Doctrine\Bundle\MongoDBBundle\Logger\Logger($this->get('monolog.logger.doctrine', ContainerInterface::NULL_ON_INVALID_REFERENCE)); $c->setBatchInsertThreshold(4); $this->services['doctrine_mongodb.odm.default_configuration'] = $instance = new \Doctrine\ODM\MongoDB\Configuration(); $instance->setDocumentNamespaces(array('PersonBundle' => 'Acme\\PersonBundle\\Document')); $instance->setMetadataCacheImpl($a); $instance->setMetadataDriverImpl($b); $instance->setProxyDir(__DIR__ . '/doctrine/odm/mongodb/Proxies'); $instance->setProxyNamespace('MongoDBODMProxies'); $instance->setAutoGenerateProxyClasses(false); $instance->setHydratorDir(__DIR__ . '/doctrine/odm/mongodb/Hydrators'); $instance->setHydratorNamespace('Hydrators'); $instance->setAutoGenerateHydratorClasses(false); $instance->setDefaultDB('person'); $instance->setDefaultCommitOptions(array()); $instance->setRetryConnect(0); $instance->setRetryQuery(0); $instance->setDefaultRepositoryClassName('Doctrine\\ODM\\MongoDB\\DocumentRepository'); $instance->setLoggerCallable(array(0 => new \Doctrine\Bundle\MongoDBBundle\Logger\AggregateLogger(array(0 => $c, 1 => $this->get('doctrine_mongodb.odm.data_collector.pretty'))), 1 => 'logQuery')); return $instance; }
protected function getDoctrine_Odm_Mongodb_ConfigurationService() { if (isset($this->shared['doctrine.odm.mongodb.configuration'])) { return $this->shared['doctrine.odm.mongodb.configuration']; } $instance = new Doctrine\ODM\MongoDB\Configuration(); $this->shared['doctrine.odm.mongodb.configuration'] = $instance; $instance->setProxyDir($this->getParameter('doctrine.odm.mongodb.proxy_dir')); $instance->setProxyNamespace($this->getParameter('doctrine.odm.mongodb.proxy_namespace')); $instance->setAutoGenerateProxyClasses($this->getParameter('doctrine.odm.mongodb.auto_generate_proxy_classes')); $instance->setMetadataDriverImpl($this->getDoctrine_Odm_Mongodb_Metadata_AnnotationService()); $instance->setDefaultDB($this->getParameter('doctrine.odm.mongodb.default_database')); return $instance; }
/** * Tenta estabelecer a conexão ao banco relacional ou de documentos. * * @return \Doctrine\ORM\EntityManager | \Doctrine\ODM\MongoDB\DocumentManager */ private function estabelecerConexao() { $tipo = explode(':', $this->_configuracao->get($this->_servidor . '.persistencia_uri')); $tipo = $tipo[0]; if (!empty($tipo)) { if ($tipo === 'mongodb') { \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver::registerAnnotationClasses(); } $classLoader = new ClassLoader('Domain\\Entity', implode(DIRECTORY_SEPARATOR, [__APPDIR__, 'app', 'models'])); $classLoader->register(); $doctrine_models_dir = implode(DIRECTORY_SEPARATOR, [__APPDIR__, 'app', 'models']); $doctrine_entities_dir = implode(DIRECTORY_SEPARATOR, [__APPDIR__, 'app', 'models', 'Domain', 'Entity']); $doctrine_proxies_dir = implode(DIRECTORY_SEPARATOR, [__APPDIR__, 'tmp', 'models', 'Domain', 'Entity', 'Proxies']); $doctrine_hydrators_dir = implode(DIRECTORY_SEPARATOR, [__APPDIR__, 'tmp', 'models', 'Domain', 'Entity', 'Hydrators']); // cria os diretórios dos proxys e hydrators, caso não haja (necessários // para o Doctrine) if (!PROJECT_STAGE) { Arquivo::criarDiretorio($doctrine_proxies_dir); Arquivo::criarDiretorio($doctrine_hydrators_dir); } // verifica se não é MongoDB if ($tipo !== 'mongodb') { // provê algumas informações iniciais do banco de dados switch ($tipo) { case 'sqlite': $parametrosConexao = ['driver' => 'pdo_' . $tipo, 'path' => $this->_configuracao->get($this->_servidor . '.persistencia_banco')]; break; case 'mysql': $parametrosConexao = ['driver' => 'pdo_' . $tipo, 'user' => $this->_configuracao->get($this->_servidor . '.persistencia_usuario'), 'password' => $this->_configuracao->get($this->_servidor . '.persistencia_senha'), 'host' => $this->_configuracao->get($this->_servidor . '.persistencia_servidor'), 'dbname' => $this->_configuracao->get($this->_servidor . '.persistencia_banco'), \PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'' . $this->_configuracao->get($this->_servidor . '.persistencia_charset') . '\'; SET CHARACTER SET \'' . $this->_configuracao->get($this->_servidor . '.persistencia_charset') . '\'; SET character_set_connection=\'' . $this->_configuracao->get($this->_servidor . '.persistencia_charset') . '\'; SET character_set_client=\'' . $this->_configuracao->get($this->_servidor . '.persistencia_charset') . '\'; SET character_set_results=\'' . $this->_configuracao->get($this->_servidor . '.persistencia_charset') . '\';']; break; // em teste funciona para quase todos os tipos de PDO // em teste funciona para quase todos os tipos de PDO default: $parametrosConexao = ['driver' => 'pdo_' . $tipo, 'user' => $this->_configuracao->get($this->_servidor . '.persistencia_usuario'), 'password' => $this->_configuracao->get($this->_servidor . '.persistencia_senha'), 'host' => $this->_configuracao->get($this->_servidor . '.persistencia_servidor'), 'dbname' => $this->_configuracao->get($this->_servidor . '.persistencia_banco')]; break; } // cria os mapeamentos das entidades do banco de dados, caso não existam if (count(glob($doctrine_entities_dir . '/*.php')) === 0) { $configuracao = new \Doctrine\ORM\Configuration(); $configuracao->setMetadataDriverImpl($configuracao->newDefaultAnnotationDriver($doctrine_entities_dir, FALSE)); $configuracao->setProxyDir($doctrine_proxies_dir); $configuracao->setProxyNamespace('Proxies'); $entityManager = \Doctrine\ORM\EntityManager::create($parametrosConexao, $configuracao); // custom datatypes (not mapped for reverse engineering) $entityManager->getConnection()->getDatabasePlatform()->registerDoctrineTypeMapping('set', 'string'); $entityManager->getConnection()->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string'); // define namespace $driver = new \Doctrine\ORM\Mapping\Driver\DatabaseDriver($entityManager->getConnection()->getSchemaManager()); $driver->setNamespace('Domain\\Entity\\'); // define driver with namespace $entityManager->getConfiguration()->setMetadataDriverImpl($driver); $disconnectedClassMetadataFactory = new \Doctrine\ORM\Tools\DisconnectedClassMetadataFactory(); $disconnectedClassMetadataFactory->setEntityManager($entityManager); $entityGenerator = new \Doctrine\ORM\Tools\EntityGenerator(); $entityGenerator->setUpdateEntityIfExists(true); $entityGenerator->setGenerateStubMethods(true); $entityGenerator->setGenerateAnnotations(true); $entityGenerator->generate($disconnectedClassMetadataFactory->getAllMetadata(), $doctrine_models_dir); } // carrega as entidades \Pudim\Arquivo::requererDiretorio($doctrine_entities_dir); $configuracao = \Doctrine\ORM\Tools\Setup::createConfiguration(!(bool) PROJECT_STAGE); $driver = new \Doctrine\ORM\Mapping\Driver\AnnotationDriver(new \Doctrine\Common\Annotations\AnnotationReader(), $doctrine_entities_dir); // registering noop annotation autoloader - allow all annotations by default \Doctrine\Common\Annotations\AnnotationRegistry::registerLoader('class_exists'); $configuracao->setMetadataDriverImpl($driver); $configuracao->setAutoGenerateProxyClasses(!(bool) PROJECT_STAGE); $configuracao->setProxyDir($doctrine_proxies_dir); $configuracao->setProxyNamespace('Proxies'); if (PROJECT_STAGE) { $cache = new \Doctrine\Common\Cache\ArrayCache(); } else { $cache = new \Doctrine\Common\Cache\ApcCache(); } $configuracao->setMetadataCacheImpl($cache); $configuracao->setQueryCacheImpl($cache); // obtaining the entity manager (7) $eventManager = new \Doctrine\Common\EventManager(); $conexao = \Doctrine\ORM\EntityManager::create($parametrosConexao, $configuracao, $eventManager); } else { $configuracao = new \Doctrine\ODM\MongoDB\Configuration(); $metadata = AnnotationDriver::create($doctrine_entities_dir); $configuracao->setMetadataDriverImpl($metadata); $configuracao->setAutoGenerateProxyClasses(!(bool) PROJECT_STAGE); $configuracao->setProxyDir($doctrine_proxies_dir); $configuracao->setProxyNamespace('Proxies'); $configuracao->setAutoGenerateHydratorClasses(!(bool) PROJECT_STAGE); $configuracao->setHydratorDir($doctrine_hydrators_dir); $configuracao->setHydratorNamespace('Hydrators'); $configuracao->setDefaultDB($this->_configuracao->get($this->_servidor . '.persistencia_banco')); //$configuracao->setLoggerCallable(function (array $log) { print_r($log); }); $cache_uri = $this->_configuracao->get($this->_servidor . '.cache_uri'); if (PROJECT_STAGE && class_exists('Redis') && $cache_uri) { // trata o $cache_uri pois somente precisamos do servidor e a porta if (strpos($cache_uri, '//')) { $cache_uri_parts = explode('//', $cache_uri); if (strpos($cache_uri_parts[1], ':')) { list($cache_server, $cache_port) = explode(':', $cache_uri_parts[1]); } else { $cache_server = $cache_uri_parts[1]; $cache_port = '6379'; } unset($cache_uri_parts); } else { $cache_server = $cache_uri; $cache_port = '6379'; } $redis = new \Redis(); $redis->pconnect($cache_server, $cache_port); $metadataCache = new \Doctrine\Common\Cache\RedisCache(); $metadataCache->setRedis($redis); $configuracao->setMetadataCacheImpl($metadataCache); unset($cache_server, $cache_port, $redis, $metadataCache); } $conexao = new \Doctrine\MongoDB\Connection($this->_configuracao->get($this->_servidor . '.persistencia_uri')); $conexao = \Doctrine\ODM\MongoDB\DocumentManager::create($conexao, $configuracao); // FIX: Muito importante pois força a criação dos índices no aplicativo $conexao->getSchemaManager()->ensureIndexes(); } } return $conexao; }
/** * Gets the 'doctrine_mongodb.odm.default_configuration' service. * * This service is shared. * This method always returns the same instance of the service. * * @return \Doctrine\ODM\MongoDB\Configuration A Doctrine\ODM\MongoDB\Configuration instance */ protected function getDoctrineMongodb_Odm_DefaultConfigurationService() { $a = $this->get('annotation_reader'); $b = new \Doctrine\Common\Cache\ArrayCache(); $b->setNamespace('sf2mongodb_default_7647d006d7bc368ba7102dd989c0595b9e95402f97e9e94d3f88dcfa510be424'); $c = new \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($a, array(0 => $this->targetDirs[3] . '\\src\\DigitalPilot\\CmsBundle\\Document', 1 => $this->targetDirs[3] . '\\src\\UserBundle\\Document')); $d = new \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain(); $d->addDriver($c, 'DigitalPilot\\CmsBundle\\Document'); $d->addDriver($c, 'UserBundle\\Document'); $d->addDriver(new \Doctrine\ODM\MongoDB\Mapping\Driver\XmlDriver(new \Doctrine\Common\Persistence\Mapping\Driver\SymfonyFileLocator(array($this->targetDirs[3] . '\\vendor\\friendsofsymfony\\user-bundle\\Resources\\config\\doctrine-mapping' => 'FOS\\UserBundle\\Model'), '.mongodb.xml')), 'FOS\\UserBundle\\Model'); $e = new \Doctrine\Bundle\MongoDBBundle\Logger\Logger($this->get('monolog.logger.doctrine', ContainerInterface::NULL_ON_INVALID_REFERENCE)); $e->setBatchInsertThreshold(4); $this->services['doctrine_mongodb.odm.default_configuration'] = $instance = new \Doctrine\ODM\MongoDB\Configuration(); $instance->setDocumentNamespaces(array('CmsBundle' => 'DigitalPilot\\CmsBundle\\Document', 'UserBundle' => 'UserBundle\\Document')); $instance->setMetadataCacheImpl($b); $instance->setMetadataDriverImpl($d); $instance->setProxyDir(__DIR__ . '/doctrine/odm/mongodb/Proxies'); $instance->setProxyNamespace('MongoDBODMProxies'); $instance->setAutoGenerateProxyClasses(false); $instance->setHydratorDir(__DIR__ . '/doctrine/odm/mongodb/Hydrators'); $instance->setHydratorNamespace('Hydrators'); $instance->setAutoGenerateHydratorClasses(false); $instance->setDefaultDB('test_database'); $instance->setDefaultCommitOptions(array()); $instance->setRetryConnect(0); $instance->setRetryQuery(0); $instance->setLoggerCallable(array(0 => new \Doctrine\Bundle\MongoDBBundle\Logger\AggregateLogger(array(0 => $e, 1 => $this->get('doctrine_mongodb.odm.data_collector.pretty'))), 1 => 'logQuery')); return $instance; }
protected function getDoctrineMongodb_Odm_DefaultConfigurationService() { $a = new \Doctrine\Common\Cache\ArrayCache(); $a->setNamespace('sf2mongodb_default_59c9f89d66845be614334ace04577548242c89027a0af75abedc55d044b107e1'); $b = new \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain(); $b->addDriver(new \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($this->get('annotation_reader'), array(0 => $this->targetDirs[3] . '/src/Acme/PersonBundle/Document')), 'Acme\\PersonBundle\\Document'); $this->services['doctrine_mongodb.odm.default_configuration'] = $instance = new \Doctrine\ODM\MongoDB\Configuration(); $instance->setDocumentNamespaces(array('PersonBundle' => 'Acme\\PersonBundle\\Document')); $instance->setMetadataCacheImpl($a); $instance->setMetadataDriverImpl($b); $instance->setProxyDir(__DIR__ . '/doctrine/odm/mongodb/Proxies'); $instance->setProxyNamespace('MongoDBODMProxies'); $instance->setAutoGenerateProxyClasses(false); $instance->setHydratorDir(__DIR__ . '/doctrine/odm/mongodb/Hydrators'); $instance->setHydratorNamespace('Hydrators'); $instance->setAutoGenerateHydratorClasses(false); $instance->setDefaultDB('person'); $instance->setDefaultCommitOptions(array()); $instance->setRetryConnect(0); $instance->setRetryQuery(0); $instance->setDefaultRepositoryClassName('Doctrine\\ODM\\MongoDB\\DocumentRepository'); return $instance; }
/** * Gets the 'doctrine_mongodb.odm.default_configuration' service. * * This service is shared. * This method always returns the same instance of the service. * * @return \Doctrine\ODM\MongoDB\Configuration A Doctrine\ODM\MongoDB\Configuration instance. */ protected function getDoctrineMongodb_Odm_DefaultConfigurationService() { $a = new \Doctrine\Common\Cache\ArrayCache(); $a->setNamespace('sf2mongodb_default_d686cc03f64bc52b626c4ad0b517dccd226abf8936ed63a91a82c81c0865b3ac'); $b = new \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain(); $b->addDriver(new \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($this->get('annotation_reader'), array(0 => $this->targetDirs[3] . '/src/MyApp/BlogBundle/Document')), 'MyApp\\BlogBundle\\Document'); $c = new \Doctrine\Bundle\MongoDBBundle\Logger\Logger($this->get('monolog.logger.doctrine', ContainerInterface::NULL_ON_INVALID_REFERENCE)); $c->setBatchInsertThreshold(4); $this->services['doctrine_mongodb.odm.default_configuration'] = $instance = new \Doctrine\ODM\MongoDB\Configuration(); $instance->setDocumentNamespaces(array('MyAppBlogBundle' => 'MyApp\\BlogBundle\\Document')); $instance->setMetadataCacheImpl($a); $instance->setMetadataDriverImpl($b); $instance->setProxyDir(__DIR__ . '/doctrine/odm/mongodb/Proxies'); $instance->setProxyNamespace('MongoDBODMProxies'); $instance->setAutoGenerateProxyClasses(false); $instance->setHydratorDir(__DIR__ . '/doctrine/odm/mongodb/Hydrators'); $instance->setHydratorNamespace('Hydrators'); $instance->setAutoGenerateHydratorClasses(false); $instance->setDefaultDB('symfony2'); $instance->setDefaultCommitOptions(array()); $instance->setRetryConnect(0); $instance->setRetryQuery(0); $instance->setDefaultRepositoryClassName('Doctrine\\ODM\\MongoDB\\DocumentRepository'); $instance->setLoggerCallable(array(0 => new \Doctrine\Bundle\MongoDBBundle\Logger\AggregateLogger(array(0 => $c, 1 => $this->get('doctrine_mongodb.odm.data_collector.pretty'))), 1 => 'logQuery')); return $instance; }
/** * Gets the 'doctrine.odm.mongodb.default_configuration' service. * * This service is shared. * This method always returns the same instance of the service. * * @return Doctrine\ODM\MongoDB\Configuration A Doctrine\ODM\MongoDB\Configuration instance. */ protected function getDoctrine_Odm_Mongodb_DefaultConfigurationService() { $a = new \Symfony\Bundle\DoctrineMongoDBBundle\Mapping\Driver\XmlDriver(array(0 => '/Users/rfanjul/Public/api.quorra.com/vendor/bundles/FOS/UserBundle/Resources/config/doctrine')); $a->setNamespacePrefixes(array('/Users/rfanjul/Public/api.quorra.com/vendor/bundles/FOS/UserBundle/Resources/config/doctrine' => 'FOS\\UserBundle\\Document')); $a->setGlobalBasename('mapping'); $b = new \Doctrine\ODM\MongoDB\Mapping\Driver\DriverChain(); $b->addDriver($a, 'FOS\\UserBundle\\Document'); $b->addDriver(new \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($this->get('annotation_reader'), array(0 => '/Users/rfanjul/Public/api.quorra.com/src/Quorra/CoreBundle/Document')), 'Quorra\\CoreBundle\\Document'); $this->services['doctrine.odm.mongodb.default_configuration'] = $instance = new \Doctrine\ODM\MongoDB\Configuration(); $instance->setDocumentNamespaces(array('FOSUserBundle' => 'FOS\\UserBundle\\Document', 'QuorraCoreBundle' => 'Quorra\\CoreBundle\\Document')); $instance->setMetadataCacheImpl($this->get('doctrine.odm.mongodb.default_metadata_cache')); $instance->setMetadataDriverImpl($b); $instance->setProxyDir('/Users/rfanjul/Public/api.quorra.com/app/cache/dev/doctrine/odm/mongodb/Proxies'); $instance->setProxyNamespace('Proxies'); $instance->setAutoGenerateProxyClasses(false); $instance->setHydratorDir('/Users/rfanjul/Public/api.quorra.com/app/cache/dev/doctrine/odm/mongodb/Hydrators'); $instance->setHydratorNamespace('Hydrators'); $instance->setAutoGenerateHydratorClasses(true); $instance->setDefaultDB('Quorra'); $instance->setLoggerCallable(array(0 => $this->get('doctrine.odm.mongodb.logger'), 1 => 'logQuery')); return $instance; }
/** * Initialize ODM Configuration. * * @param array $config ODM DocumentManager configuration. * @return \Doctrine\ODM\MongoDB\Configuration */ private function startODMConfiguration(array $config = array()) { $configClass = $config['configurationClass']; $configuration = new $configClass(); $configuration = new \Doctrine\ODM\MongoDB\Configuration(); // Entity Namespaces configuration foreach ($config['documentNamespaces'] as $alias => $namespace) { $configuration->addDocumentNamespace($alias, $namespace); } // Proxy configuration $configuration->setAutoGenerateProxyClasses($config['proxy']['autoGenerateClasses'] === true || !in_array($config['proxy']['autoGenerateClasses'], array("0", "false", false))); $configuration->setProxyNamespace($config['proxy']['namespace']); $configuration->setProxyDir($config['proxy']['dir']); $configuration->setHydratorDir($config['hydrator']['dir']); $configuration->setHydratorNamespace($config['hydrator']['namespace']); // Cache configuration $configuration->setMetadataCacheImpl($this->getCacheInstance($config['metadataCache'])); // Metadata configuration $configuration->setMetadataDriverImpl($this->startODMMetadata($config['metadataDrivers'])); if (isset($config['defaultDb'])) { $configuration->setDefaultDB($config['defaultDb']); } if (isset($config['environment'])) { $configuration->setDefaultDB($config['environment']); } return $configuration; }
/** * Gets the 'doctrine_mongodb.odm.default_configuration' service. * * This service is shared. * This method always returns the same instance of the service. * * @return \Doctrine\ODM\MongoDB\Configuration A Doctrine\ODM\MongoDB\Configuration instance. */ protected function getDoctrineMongodb_Odm_DefaultConfigurationService() { $a = $this->get('annotation_reader'); $b = new \Doctrine\Common\Cache\ArrayCache(); $b->setNamespace('sf2mongodb_default_7bf2c5739740f682deedc09d0d3e7fcb32c5f04377022ebb01d66d08ca5a34e8'); $c = new \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($a, array(0 => $this->targetDirs[3] . '/src/MainBundle/Document', 1 => $this->targetDirs[3] . '/src/UsersBundle/Document', 2 => $this->targetDirs[3] . '/src/StoreBundle/Document')); $d = new \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain(); $d->addDriver($c, 'MainBundle\\Document'); $d->addDriver($c, 'UsersBundle\\Document'); $d->addDriver($c, 'StoreBundle\\Document'); $d->addDriver(new \Doctrine\ODM\MongoDB\Mapping\Driver\XmlDriver(new \Doctrine\Common\Persistence\Mapping\Driver\SymfonyFileLocator(array($this->targetDirs[3] . '/vendor/friendsofsymfony/user-bundle/Resources/config/doctrine-mapping' => 'FOS\\UserBundle\\Model'), '.mongodb.xml')), 'FOS\\UserBundle\\Model'); $e = new \Doctrine\Bundle\MongoDBBundle\Logger\Logger($this->get('monolog.logger.doctrine', ContainerInterface::NULL_ON_INVALID_REFERENCE)); $e->setBatchInsertThreshold(4); $this->services['doctrine_mongodb.odm.default_configuration'] = $instance = new \Doctrine\ODM\MongoDB\Configuration(); $instance->setDocumentNamespaces(array('MainBundle' => 'MainBundle\\Document', 'UsersBundle' => 'UsersBundle\\Document', 'StoreBundle' => 'StoreBundle\\Document')); $instance->setMetadataCacheImpl($b); $instance->setMetadataDriverImpl($d); $instance->setProxyDir(__DIR__ . '/doctrine/odm/mongodb/Proxies'); $instance->setProxyNamespace('MongoDBODMProxies'); $instance->setAutoGenerateProxyClasses(false); $instance->setHydratorDir(__DIR__ . '/doctrine/odm/mongodb/Hydrators'); $instance->setHydratorNamespace('Hydrators'); $instance->setAutoGenerateHydratorClasses(false); $instance->setDefaultDB('test_database'); $instance->setDefaultCommitOptions(array()); $instance->setRetryConnect(0); $instance->setRetryQuery(0); $instance->setLoggerCallable(array(0 => new \Doctrine\Bundle\MongoDBBundle\Logger\AggregateLogger(array(0 => $e, 1 => $this->get('doctrine_mongodb.odm.data_collector.pretty'))), 1 => 'logQuery')); return $instance; }
public function realDbNameFor($dbName) { return sprintf('%s%s%s', $this->_config->getPrefixDbName(), $dbName, $this->_config->getSuffixDbName()); }
protected function getDoctrine_Odm_Mongodb_DefaultConfigurationService() { $a = $this->get('annotation_reader'); $b = new \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($a, array(0 => 'E:\\work\\Code\\Justsy Push-RESTService\\Trunk\\src\\Justsy\\MongoDocBundle\\Document', 1 => 'E:\\work\\Code\\Justsy Push-RESTService\\Trunk\\src\\WebIM\\ImChatBundle\\Document')); $c = new \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain(); $c->addDriver($b, 'Justsy\\MongoDocBundle\\Document'); $c->addDriver($b, 'WebIM\\ImChatBundle\\Document'); $this->services['doctrine.odm.mongodb.default_configuration'] = $instance = new \Doctrine\ODM\MongoDB\Configuration(); $instance->setDocumentNamespaces(array('JustsyMongoDocBundle' => 'Justsy\\MongoDocBundle\\Document', 'WebIMImChatBundle' => 'WebIM\\ImChatBundle\\Document')); $instance->setMetadataCacheImpl($this->get('doctrine.odm.mongodb.default_metadata_cache')); $instance->setMetadataDriverImpl($c); $instance->setProxyDir('E:/work/Code/Justsy Push-RESTService/Trunk/app/cache/prod/doctrine/odm/mongodb/Proxies'); $instance->setProxyNamespace('Proxies'); $instance->setAutoGenerateProxyClasses(false); $instance->setHydratorDir('E:/work/Code/Justsy Push-RESTService/Trunk/app/cache/prod/doctrine/odm/mongodb/Hydrators'); $instance->setHydratorNamespace('Hydrators'); $instance->setAutoGenerateHydratorClasses(false); $instance->setDefaultDB('we'); $instance->setRetryConnect(0); $instance->setRetryQuery(0); return $instance; }