doctrine:
    dbal:
        connections:
            default:
                url: "%env(resolve:DATABASE_URL)%"

            vtiger:
                url: "%env(resolve:VTIGER_DATABASE_URL)%"
                
        types:
            array_to_string: App\Doctrine\ArrayToStringType

    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/Infrastructure/Persistence/Doctrine/Entity"
                # prefix: 'App\Infrastructure\Persistence\Doctrine\Entity'
                # alias: App
                dir: "%kernel.project_dir%/src/Entity"
                prefix: 'App\Entity'
                alias: App
        # filters:
        #     env_filter:
        #         class: App\Doctrine\Filter\EnvFilter
        #         enabled: true
when@test:
    doctrine:
        dbal:
            # "TEST_TOKEN" is typically set by ParaTest
            dbname_suffix: "_test%env(default::TEST_TOKEN)%"

when@prod:
    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

    framework:
        cache:
            pools:
                doctrine.result_cache_pool:
                    adapter: cache.app
                doctrine.system_cache_pool:
                    adapter: cache.system
