parameters:
    # Adds a fallback DATABASE_URL if the env var is not set.
    # This allows you to run cache:warmup even if your
    # environment variables are not available yet.
    # You should not need to change this value.
    env(DATABASE_URL): ''

doctrine:
    dbal:
        default_connection: default
        connections:
            default:
                # existing migrations will fail if the schema filter is activated
                #schema_filter: ~^(?!(bundle_migration_|kimai2_sessions))~
                url: '%env(DATABASE_URL)%'
                driver: 'pdo_mysql'
                charset: utf8mb4
                default_table_options:
                    charset: utf8mb4
                    collation: utf8mb4_unicode_ci
                schema_manager_factory: doctrine.dbal.default_schema_manager_factory

        types:
            datetime: App\Doctrine\UTCDateTimeType
            datetime_immutable: App\Doctrine\UTCDateTimeImmutableType
    orm:
        controller_resolver:
            # FIXME this is causing a deprecation and needs to be changed
            # auto_mapping: false
            auto_mapping: true
        auto_generate_proxy_classes: '%kernel.debug%'
        default_entity_manager: default
        enable_lazy_ghost_objects: true
        entity_managers:
            default:
                report_fields_where_declared: true
                connection: default
                naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
                auto_mapping: true
                mappings:
                    App:
                        type: attribute
                        dir: '%kernel.project_dir%/src/Entity'
                        prefix: 'App\Entity'
                        alias: Kimai
                dql:
                    datetime_functions:
                        date: App\Doctrine\Extensions\Date
                        day: App\Doctrine\Extensions\Day
                        month: App\Doctrine\Extensions\Month
                        year: App\Doctrine\Extensions\Year

when@test:
    doctrine:
        dbal:
            connections:
                default:
                    logging: false
                    use_savepoints: true

when@prod:
    doctrine:
        orm:
            metadata_cache_driver:
                type: pool
                pool: doctrine.system_cache_pool
            query_cache_driver:
                type: pool
                pool: doctrine.system_cache_pool
            result_cache_driver:
                type: pool
                pool: doctrine.result_cache_pool
