69 lines
2.4 KiB
PHP
69 lines
2.4 KiB
PHP
|
<?php declare(strict_types=1);
|
||
|
|
||
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||
|
|
||
|
return static function (ContainerConfigurator $containerConfigurator): void {
|
||
|
$containerConfigurator->extension('doctrine', [
|
||
|
'dbal' => [
|
||
|
'url' => '%env(resolve:DATABASE_URL)%',
|
||
|
'profiling_collect_backtrace' => '%kernel.debug%',
|
||
|
'use_savepoints' => true,
|
||
|
],
|
||
|
'orm' => [
|
||
|
'auto_generate_proxy_classes' => true,
|
||
|
'enable_lazy_ghost_objects' => true,
|
||
|
'report_fields_where_declared' => true,
|
||
|
'validate_xml_mapping' => true,
|
||
|
'naming_strategy' => 'doctrine.orm.naming_strategy.underscore_number_aware',
|
||
|
'auto_mapping' => true,
|
||
|
'mappings' => [
|
||
|
'App' => [
|
||
|
'type' => 'attribute',
|
||
|
'is_bundle' => false,
|
||
|
'dir' => '%kernel.project_dir%/src/Entity',
|
||
|
'prefix' => 'App\Entity',
|
||
|
'alias' => 'App',
|
||
|
],
|
||
|
],
|
||
|
'controller_resolver' => [
|
||
|
'auto_mapping' => false,
|
||
|
],
|
||
|
],
|
||
|
]);
|
||
|
if ($containerConfigurator->env() === 'test') {
|
||
|
$containerConfigurator->extension('doctrine', [
|
||
|
'dbal' => [
|
||
|
'dbname_suffix' => '_test%env(default::TEST_TOKEN)%',
|
||
|
],
|
||
|
]);
|
||
|
}
|
||
|
if ($containerConfigurator->env() === 'prod') {
|
||
|
$containerConfigurator->extension('doctrine', [
|
||
|
'orm' => [
|
||
|
'auto_generate_proxy_classes' => false,
|
||
|
'proxy_dir' => '%kernel.build_dir%/doctrine/orm/Proxies',
|
||
|
'query_cache_driver' => [
|
||
|
'type' => 'pool',
|
||
|
'pool' => 'doctrine.system_cache_pool',
|
||
|
],
|
||
|
'result_cache_driver' => [
|
||
|
'type' => 'pool',
|
||
|
'pool' => 'doctrine.result_cache_pool',
|
||
|
],
|
||
|
],
|
||
|
]);
|
||
|
$containerConfigurator->extension('framework', [
|
||
|
'cache' => [
|
||
|
'pools' => [
|
||
|
'doctrine.result_cache_pool' => [
|
||
|
'adapter' => 'cache.app',
|
||
|
],
|
||
|
'doctrine.system_cache_pool' => [
|
||
|
'adapter' => 'cache.system',
|
||
|
],
|
||
|
],
|
||
|
],
|
||
|
]);
|
||
|
}
|
||
|
};
|