From 1771347f69fc601a4dfb5dcf72d6f8a623cf7dae Mon Sep 17 00:00:00 2001 From: kevforget <74352754+kevforget@users.noreply.github.com> Date: Mon, 30 Jan 2023 16:06:45 +0100 Subject: [PATCH] feat: The migration script reads from slaves mongo instance (#232) --- migration/infrastructure/mongo_database.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/migration/infrastructure/mongo_database.py b/migration/infrastructure/mongo_database.py index 10d3a898..5f7a179e 100644 --- a/migration/infrastructure/mongo_database.py +++ b/migration/infrastructure/mongo_database.py @@ -6,18 +6,18 @@ from migration.domain.connection import Connection from tapiriik.database import db - +from pymongo import ReadPreference def get_all_connections() -> List[Connection]: - return [Connection.to_connection(conn) for conn in db.connections.find()] + return [Connection.to_connection(conn) for conn in db.connections.with_options(read_preference=ReadPreference.SECONDARY).find()] def get_connections_by_partner_name(partner_name: str) -> List[Connection]: - return [Connection.to_connection(conn) for conn in db.connections.find({"Service": partner_name})] + return [Connection.to_connection(conn) for conn in db.connections.with_options(read_preference=ReadPreference.SECONDARY).find({"Service": partner_name})] def get_connection_by_id(connection_id: ObjectId) -> Connection | None: - connection_dict = db.connections.find_one({"_id": connection_id}) + connection_dict = db.connections.with_options(read_preference=ReadPreference.SECONDARY).find_one({"_id": connection_id}) if connection_dict is not None: return Connection.to_connection(connection_dict) else: @@ -25,11 +25,11 @@ def get_connection_by_id(connection_id: ObjectId) -> Connection | None: def get_all_users() -> list: - return list(db.users.find()) + return list(db.users.with_options(read_preference=ReadPreference.SECONDARY).find()) def get_user_by_connection_id(connection_id: ObjectId) -> List[dict]: - return list(db.users.aggregate( + return list(db.users.with_options(read_preference=ReadPreference.SECONDARY).aggregate( [ { '$match': { @@ -45,7 +45,7 @@ def get_user_by_connection_id(connection_id: ObjectId) -> List[dict]: def get_user_connected_to_decathlon() -> List[dict]: - return list(db.users.aggregate( + return list(db.users.with_options(read_preference=ReadPreference.SECONDARY).aggregate( [ { '$match': {