Search code examples
phpsymfonydoctrine-ormdoctrinesonata

Symfony doctrine auto_mapping Unrecognized


I have added SonataUserBundle and it is giving error

config.yml

doctrine: 
    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true

        entity_managers:
            default:
                mappings:
                    ApplicationSonataUserBundle: ~
                    SonataUserBundle: ~

error

Unrecognized options "naming_strategy, auto_mapping, dql" under "doctrine.orm"


Solution

  • You are mixing shortened and full configuration.

    If you just want to use the default entity manager then you can place everything under the orm key (the shortened config). This will be remapped so that it is under doctrine.orm.entity_managers.default by the bundle extension.

    If, however, you want to chaneg the name of the entity manager or use multiples then you would need to use the full configuration specifying each entity manager.

    Shortened Config

    doctrine: 
        orm:
            auto_generate_proxy_classes: "%kernel.debug%"
            naming_strategy: doctrine.orm.naming_strategy.underscore
            auto_mapping: true
            mappings:
                ApplicationSonataUserBundle: ~
                SonataUserBundle: ~
    

    Full Config

    doctrine: 
        orm:
            auto_generate_proxy_classes: "%kernel.debug%"
            entity_managers:
                default:
                    naming_strategy: doctrine.orm.naming_strategy.underscore
                    auto_mapping: true
                    mappings:
                        ApplicationSonataUserBundle: ~
                        SonataUserBundle: ~