#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: '13'
#    orm:
#        auto_generate_proxy_classes: 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)%'
#


doctrine:
    dbal:
        # configure these for your database server
        # use postgresql for PostgreSQL
        # use sqlite for SQLite
        default_connection: default
        connections:
            default:
                # configure these for your database server
                url: '%env(resolve:DATABASE_URL)%'
                driver: 'mysql'
                server_version: '5.7'
                # only needed for MySQL
                charset: utf8mb4
                default_table_options:
                    charset: utf8mb4
                    collate: utf8mb4_unicode_ci

            umbrella:
                # configure these for your database server
                url: '%env(resolve:DATABASE_DOCSHARAFAC_URL)%'
                driver: 'mysql'
                server_version: '5.7'
                # only needed for MySQL
                charset: utf8mb4
                default_table_options:
                    charset: utf8mb4
                    collate: utf8mb4_unicode_ci
    orm:
        auto_generate_proxy_classes: true
        #        naming_strategy: doctrine.orm.naming_strategy.underscore
        #        auto_mapping: true
        #        mappings:
        #            App:
        #                is_bundle: false
        #                type: annotation
        #                dir: '%kernel.project_dir%/src/Entity'
        #                prefix: 'App\Entity'
        #                alias: App
        default_entity_manager: default
        #        auto_generate_proxy_classes: true
        entity_managers:
            default:
                connection: default
                naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
                auto_mapping: true
                mappings:
                    Main:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/Entity/Model'
                        prefix: 'App\Entity\Model'
                        alias: App
            umbrella:
                dql:
                    datetime_functions:
                        DAY: DoctrineExtensions\Query\Mysql\Day
                        MONTH: DoctrineExtensions\Query\Mysql\Month
                        YEAR: DoctrineExtensions\Query\Mysql\Year

                connection: umbrella
                naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
                mappings:
                    Umbrella:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/Entity/Model'
                        prefix: 'App\Entity\Model'
                        alias: Umbrella

when@prod:
    doctrine:
        orm:
            auto_generate_proxy_classes: false
            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
