Skip to content

Commit

Permalink
Fix database connection config and proxy folder name
Browse files Browse the repository at this point in the history
  • Loading branch information
kenjis committed Jun 8, 2015
1 parent 188ca52 commit d37e95d
Showing 1 changed file with 25 additions and 9 deletions.
34 changes: 25 additions & 9 deletions libraries/Doctrine.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public function __construct()

$entitiesClassLoader = new ClassLoader('models', rtrim(APPPATH, "/"));
$entitiesClassLoader->register();
$proxiesClassLoader = new ClassLoader('Proxies', APPPATH . 'models/proxies');
$proxiesClassLoader = new ClassLoader('Proxies', APPPATH . 'models/Proxies');
$proxiesClassLoader->register();

// Set up caches
Expand All @@ -47,7 +47,7 @@ public function __construct()
$config->setQueryCacheImpl($cache);

// Proxy configuration
$config->setProxyDir(APPPATH . '/models/proxies');
$config->setProxyDir(APPPATH . '/models/Proxies');
$config->setProxyNamespace('Proxies');

// Set up logger
Expand All @@ -57,13 +57,29 @@ public function __construct()
$config->setAutoGenerateProxyClasses(true);

// Database connection information
$connectionOptions = array(
'driver' => $db['default']['dbdriver'],
'user' => $db['default']['username'],
'password' => $db['default']['password'],
'host' => $db['default']['hostname'],
'dbname' => $db['default']['database']
);
if ($db['default']['dbdriver'] === 'pdo') {
if (substr($db['default']['hostname'], 0, 7) === 'sqlite:') {
$connectionOptions = array(
'driver' => 'pdo_sqlite',
'user' => $db['default']['username'],
'password' => $db['default']['password'],
'path' => preg_replace('/\Asqlite:/', '', $db['default']['hostname']),
);
} else {
throw new Exception('Your Database Configuration is not confirmed by CodeIgniter Doctrine');
}
} elseif ($db['default']['dbdriver'] === 'mysqli') {
$connectionOptions = array(
'driver' => $db['default']['dbdriver'],
'user' => $db['default']['username'],
'password' => $db['default']['password'],
'host' => $db['default']['hostname'],
'dbname' => $db['default']['database'],
'charset' => $db['default']['char_set'],
);
} else {
throw new Exception('Your Database Configuration is not confirmed by CodeIgniter Doctrine');
}

// Create EntityManager
$this->em = EntityManager::create($connectionOptions, $config);
Expand Down

0 comments on commit d37e95d

Please sign in to comment.