From 36aebffcc0f18fd6823d734cdd4001cef7474f9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastien=20G=C3=A9rard?= Date: Tue, 4 Jun 2019 22:39:44 +0200 Subject: [PATCH] update changelog --- docs/changelog.rst | 1 + mongoengine/connection.py | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 87729df3..7e8fd3d2 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -13,6 +13,7 @@ Development - expose `mongoengine.connection.disconnect` and `mongoengine.connection.disconnect_all` - Fix disconnect function #566 #1599 #605 #607 #1213 #565 - Improve connect/disconnect documentations +- Fix issue when using multiple connections to the same mongo with different credentials #2047 - POTENTIAL BREAKING CHANGES: (associated with connect/disconnect fixes) - calling `connect` 2 times with the same alias and different parameter will raise an error (should call disconnect first) - disconnect now clears `mongoengine.connection._connection_settings` diff --git a/mongoengine/connection.py b/mongoengine/connection.py index 6249225c..9d4f25fc 100644 --- a/mongoengine/connection.py +++ b/mongoengine/connection.py @@ -270,9 +270,9 @@ def get_connection(alias=DEFAULT_CONNECTION_NAME, reconnect=False): if existing_connection: _connections[alias] = existing_connection else: - _create_connection(alias=alias, - connection_class=connection_class, - **conn_settings) + _connections[alias] = _create_connection(alias=alias, + connection_class=connection_class, + **conn_settings) return _connections[alias] @@ -283,7 +283,7 @@ def _create_connection(alias, connection_class, **connection_settings): MongoEngineConnectionError if it can't be established. """ try: - _connections[alias] = connection_class(**connection_settings) + return connection_class(**connection_settings) except Exception as e: raise MongoEngineConnectionError( 'Cannot connect to database %s :\n%s' % (alias, e))