doctrine:
    dbal:
        # resolve helper is not parsing the DATABASE_URL variable correctly....?
        # url: '%env(resolve:DATABASE_URL)%'
        host:     localhost
        port:     3306
        dbname:   picman
        user:     root
        password: birdie
        charset:  utf8mb4
        options:
            # SSL private key (PDO::MYSQL_ATTR_SSL_KEY)
            # 1007: '%env(MYSQL_SSL_KEY)%'
            1007: C:/Apache24/ssl_self_signed/server-key.pem
            # SSL certificate (PDO::MYSQL_ATTR_SSL_CERT)
            # 1008: '%env(MYSQL_SSL_CERT)%'
            1008: C:/Apache24/ssl_self_signed/server-cert.pem
            # SSL CA authority (PDO::MYSQL_ATTR_SSL_CA)
            # 1009: '%env(MYSQL_SSL_CA)%'
            1009: C:/Apache24/ssl_self_signed/ca.pem

        # IMPORTANT: You MUST configure your server version,
        # either here or in the DATABASE_URL env var (see .env file)
        #server_version: '16'

        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
        identity_generation_preferences:
            Doctrine\DBAL\Platforms\PostgreSQLPlatform: identity
        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

when@test:
    doctrine:
        dbal:
            # "TEST_TOKEN" is typically set by ParaTest
            # dbname_suffix: '_test%env(default::TEST_TOKEN)%'
            dbname: picman

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
