doctrine:
    dbal:
        # url: '%env(resolve:DATABASE_URL)%'

        # IMPORTANT: You MUST configure your server version,
        # either here or in the DATABASE_URL env var (see .env file)
        #server_version: '15'
        connections:
            default:
    #             driver: pdo_mysql
                url: '%env(resolve:DATABASE_URL)%'
            sqlite:
                driver: pdo_sqlite
                charset: utf8mb4
                default_table_options:
                    charset: utf8mb4
                    collate: utf8mb4_unicode_ci
                url: '%env(resolve:SQLITE_DATABASE_URL)%'
        default_connection: default    
    orm:
        auto_generate_proxy_classes: true
        enable_lazy_ghost_objects: true
    
        default_entity_manager: default
        entity_managers:
            default:
                naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
                auto_mapping: true
                report_fields_where_declared: true
                validate_xml_mapping: true
                connection: default
                mappings:
                    App:
                        is_bundle: false
                        dir: '%kernel.project_dir%/src/Entity'
                        prefix: 'App\Entity'
                        # type: attribute
                        alias: App
            sqlite:
                naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
                # auto_mapping: true
                connection: sqlite
                mappings:
                    Sqlite:
                        is_bundle: false
                        dir: '%kernel.project_dir%/src/Entity/Sqlite'
                        prefix: 'App\Entity\Sqlite'
                        alias: Sqlite


        # 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:
        #         is_bundle: false
        #         dir: '%kernel.project_dir%/src/Entity'
        #         prefix: 'App\Entity'
        #         alias: App

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
