Open
Description
Symfony version(s) affected: 5.x
Description
doctrine-bridge
declares some Messenger middlewares (i.e \Symfony\Bridge\Doctrine\Messenger\AbstractDoctrineMiddleware
), using ManagerRegistry and Entity Managers.
This feature requires doctrine/orm
to work, but doctrine/orm
is declared as a dev dependency in doctrine-bridge composer.json
file.
How to reproduce
- Create a Symfony application without
doctrine/orm
dependency (doctrine/dbal
only) - Add the messenger component and configure a bus (i.e with rabbit MQ)
- Declare a messenger middleware on this bus :
framework:
messenger:
buses:
messenger.bus.my_bus:
middleware:
- doctrine_ping_connection
- Run consumer in prod environment.
- Dispatch a message in bus
It will output this error : Doctrine ORM Manager named "" does not exist.
Possible Solution
Only use DBAL in messenger middlewares, or declare doctrine/orm as non-dev dependency in composer.json doctrine-bridge file.