-
Notifications
You must be signed in to change notification settings - Fork 7
/
doctrine-cli-config.php
52 lines (42 loc) · 1.43 KB
/
doctrine-cli-config.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
define('PLUGIN_PATH', dirname(dirname(__FILE__)));
define('ROOT', dirname(dirname(PLUGIN_PATH)));
$candidates = array(
ROOT . '/',
ROOT . '/app/'
);
if (isset($_SERVER['LITHIUM_APP'])) {
$appPath = str_replace(DIRECTORY_SEPARATOR, '/', $_SERVER['LITHIUM_APP']);
if (empty($appPath) || $appPath[strlen($appPath) - 1] != '/') {
$appPath .= '/';
}
if (!file_exists($appPath . 'config/bootstrap.php')) {
unset($appPath);
}
} else {
foreach($candidates as $candidate) {
if (file_exists($candidate . 'config/bootstrap.php')) {
$appPath = $candidate;
break;
}
}
}
if (!isset($appPath)) {
trigger_error(
'Can\'t locate lithium\'s application path (looking for config/bootstrap.php file). Set the environment var LITHIUM_APP accordingly',
E_USER_ERROR
);
}
require_once($appPath . 'config/bootstrap/libraries.php');
require_once($appPath . 'config/bootstrap/connections.php');
$connection = \lithium\data\Connections::get('default');
/**
* Continue with doctrine cli config
*/
Doctrine\ORM\Tools\Setup::registerAutoloadGit(PLUGIN_PATH . '/_source/doctrine2');
$em = $connection->getEntityManager();
$helperSet = new \Symfony\Component\Console\Helper\HelperSet(array(
'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()),
'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em)
));
?>