|
|
|
<?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 [
|
|
|
|
|
|
|
|
'marx.calls' => add([
|
|
|
|
'doctrine' => function (EntityManagerLike $em, $arguments) {
|
|
|
|
$connection = $em->getEntityManager($arguments[0] ?? 'default');
|
|
|
|
|
|
|
|
return ConsoleRunner::createHelperSet($connection);
|
|
|
|
},
|
|
|
|
]),
|
|
|
|
|
|
|
|
'doctrine.debug' => get('debug'),
|
|
|
|
'doctrine.single-connection' => false,
|
|
|
|
|
|
|
|
'doctrine.connections' => add([
|
|
|
|
'default',
|
|
|
|
]),
|
|
|
|
|
|
|
|
'doctrine.connection.default' => get('doctrine.connection'),
|
|
|
|
'doctrine.entity-paths.default' => get('doctrine.entity-paths'),
|
|
|
|
|
|
|
|
'doctrine.entity-paths' => add([
|
|
|
|
string('{basedir}/src/Entity')
|
|
|
|
]),
|
|
|
|
|
|
|
|
'doctrine.connection' => add([
|
|
|
|
'driver' => 'pdo_mysql',
|
|
|
|
'hostname' => 'localhost',
|
|
|
|
'password' => '',
|
|
|
|
'user' => 'root',
|
|
|
|
]),
|
|
|
|
|
|
|
|
'em' => get(EntityManagerLike::class),
|
|
|
|
|
|
|
|
EntityManagerLike::class => factory(function (Container $c) {
|
|
|
|
$contextAware = $c->get(ContextAwareEntityManager::class);
|
|
|
|
|
|
|
|
if ($c->get('doctrine.single-connection')) {
|
|
|
|
return $contextAware->getEntityManager('default');
|
|
|
|
}
|
|
|
|
|
|
|
|
return $contextAware;
|
|
|
|
}),
|
|
|
|
];
|