You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.6 KiB
PHP
60 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace BitCommunism\Doctrine;
|
|
|
|
use DI\Container;
|
|
use Doctrine\ORM\Tools\Console\ConsoleRunner;
|
|
use function DI\add;
|
|
use function DI\factory;
|
|
use function DI\get;
|
|
use function DI\string;
|
|
|
|
return array_merge(
|
|
[
|
|
'marx.calls' => add([
|
|
'doctrine' => function (EntityManager $em, $arguments) {
|
|
$connection = $em->getResponsibleEntityManager($arguments[0] ?? 'default');
|
|
|
|
return ConsoleRunner::createHelperSet($connection);
|
|
},
|
|
]),
|
|
|
|
'doctrine.debug' => get('debug'),
|
|
'doctrine.single-connection' => false,
|
|
|
|
'em' => get(EntityManager::class),
|
|
|
|
EntityManager::class => factory(function (Container $c) {
|
|
$contextAware = $c->get(ContextAwareEntityManager::class);
|
|
|
|
if ($c->get('doctrine.single-connection')) {
|
|
return $contextAware->getResponsibleEntityManager('default');
|
|
}
|
|
|
|
return $contextAware;
|
|
}),
|
|
],
|
|
connections([
|
|
'example' => [
|
|
'connection' => [
|
|
'driver' => 'pdo_mysql',
|
|
'hostname' => 'localhost',
|
|
'password' => '',
|
|
'user' => 'root',
|
|
'dbname' => 'ipsum',
|
|
],
|
|
'entity-paths' => realpath(__DIR__ . '/../src/Entity')
|
|
],
|
|
'default' => [
|
|
'connection' => add([
|
|
'driver' => 'pdo_mysql',
|
|
'hostname' => 'localhost',
|
|
'password' => '',
|
|
'user' => 'root',
|
|
]),
|
|
'entity-paths' => add([
|
|
string('{basedir}/src/Entity')
|
|
]),
|
|
]
|
|
])
|
|
); |