123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- <?php
- $config = new \Doctrine\ORM\Configuration();
- $config->setMetadataCacheImpl(new \Doctrine\Common\Cache\ArrayCache);
- use Doctrine\Common\Annotations\AnnotationReader;
- use Doctrine\Common\Annotations\AnnotationRegistry;
- $sysPath = __DIR__."/";
- AnnotationRegistry::registerFile($sysPath."vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php");
- $reader = new AnnotationReader();
- $driverImpl = new \Doctrine\ORM\Mapping\Driver\AnnotationDriver($reader, array($sysPath."tests/doctrine_console/mapping"));
- $config->setMetadataDriverImpl($driverImpl);
- $config->setProxyDir(__DIR__ . '/Proxies');
- $config->setProxyNamespace('Proxies');
- $courseList = CourseManager::get_real_course_list();
- $app['chamilo.log'] = $app['sys_log_path'].'chamilo-cli.log';
- $connectionOptions = array();
- if (!empty($courseList)) {
- $dbPrefix = isset($_configuration['db_prefix']) && !empty($_configuration['db_prefix']) ? $_configuration['db_prefix'].Database::get_database_glue() : null;
- foreach ($courseList as $course) {
- $connectionOptions['_chamilo_course_'.$course['db_name']] = array(
- 'driver' => 'pdo_mysql',
- 'dbname' => $dbPrefix.$course['db_name'],
- 'user' => $_configuration['db_user'],
- 'password' => $_configuration['db_password'],
- 'host' => $_configuration['db_host'],
- );
- }
- }
- if (isset($_configuration['main_database'])) {
- $connectionOptions['main_database'] = array(
- 'driver' => 'pdo_mysql',
- 'dbname' => $_configuration['main_database'],
- 'user' => $_configuration['db_user'],
- 'password' => $_configuration['db_password'],
- 'host' => $_configuration['db_host'],
- );
- }
- if (isset($_configuration['statistics_database'])) {
- $connectionOptions['statistics_database'] = array(
- 'driver' => 'pdo_mysql',
- 'dbname' => $_configuration['statistics_database'],
- 'user' => $_configuration['db_user'],
- 'password' => $_configuration['db_password'],
- 'host' => $_configuration['db_host'],
- );
- } else {
- if (isset($_configuration['main_database'])) {
- $connectionOptions['statistics_database'] = $connectionOptions['main_database'];
- }
- }
- if (isset($_configuration['user_personal_database'])) {
- $connectionOptions['user_personal_database'] = array(
- 'driver' => 'pdo_mysql',
- 'dbname' => $_configuration['user_personal_database'],
- 'user' => $_configuration['db_user'],
- 'password' => $_configuration['db_password'],
- 'host' => $_configuration['db_host'],
- );
- } else {
- if (isset($_configuration['main_database'])) {
- $connectionOptions['user_personal_database'] = $connectionOptions['main_database'];
- }
- }
- $defaultConnection = array(
- 'driver' => 'pdo_mysql'
- );
- if (isset($_configuration['main_database'])) {
- $defaultConnection = array(
- 'driver' => 'pdo_mysql',
- 'dbname' => $_configuration['main_database'],
- 'user' => $_configuration['db_user'],
- 'password' => $_configuration['db_password'],
- 'host' => $_configuration['db_host'],
- );
- }
- $em = \Doctrine\ORM\EntityManager::create($defaultConnection, $config);
- $platform = $em->getConnection()->getDatabasePlatform();
- $platform->registerDoctrineTypeMapping('enum', 'string');
- $platform->registerDoctrineTypeMapping('set', 'string');
- $helpers = array(
- 'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()),
- 'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em),
- 'configuration' => new \Chash\Helpers\ConfigurationHelper()
- );
- use Doctrine\DBAL\DriverManager;
- $multipleEM = array();
- foreach ($connectionOptions as $name => $connection) {
- $em = \Doctrine\ORM\EntityManager::create($connection, $config);
-
- $helpers[$name] = new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection());
- }
|