From 72213dffa4a4522b8442aed6eec3daedcc4b9396 Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Thu, 2 Jan 2020 15:26:45 +0200 Subject: [PATCH] Update migration to convert user preferences to JSON --- server/mongo/migrations/0.13.0.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/server/mongo/migrations/0.13.0.py b/server/mongo/migrations/0.13.0.py index e8570c9..ce714e2 100644 --- a/server/mongo/migrations/0.13.0.py +++ b/server/mongo/migrations/0.13.0.py @@ -1,6 +1,20 @@ +import json + from pymongo.database import Database, Collection def migrate_auth(db: Database): collection: Collection = db["user"] - collection.drop_index("name_1_company_1") + if "name_1_company_1" in [doc["name"] for doc in collection.list_indexes()]: + collection.drop_index("name_1_company_1") + + +def migrate_backend(db: Database): + collection: Collection = db["user"] + users = collection.find( + {"preferences": {"$exists": True, "$ne": None, "$type": "object"}} + ) + for doc in users: + collection.update_one( + {"_id": doc["_id"]}, {"$set": {"preferences": json.dumps(doc["preferences"])}} + )