leroy-merlin-br / mongolid

Easy, powerful and ultrafast ODM for PHP and MongoDB
MIT License
109 stars 27 forks source link

FIX : Connection defaultDatabase #238

Open RodrigoBLISS opened 2 months ago

RodrigoBLISS commented 2 months ago

Connection was updating its internal property $defaultDatabase inside the method getClient().

Manager pulls the variable during setConnection(), with happens before connection->getClient() is called.

This cause the effect of not updating the defaultDatabase in time to be used on valid database exchanges. Causing the schema to always be called 'mongolid'.

This change updates the Connect->defaultDatabase during instantiation throught the __construct method. Updating the information in time to be pulled by Manager during setConnection. Causing connection strings like this : $manager->setConnection(new Connection('mongodb://192.168.1.202:27017/WGL'));

To work correctly using WGL as the schema name.

Please let me know if this PR is acceptable, or how can I correct it.

Best regards.