Fix 0015 migration (#1154)
* migration: fix 0015 migration to ensure it reads the correct mongo collection, avoid variable overwrites and and uses org _id field. fixes #1153
This commit is contained in:
parent
2967f1e320
commit
e75b207f7e
@ -7,6 +7,7 @@ from btrixcloud.migrations import BaseMigration
|
|||||||
MIGRATION_VERSION = "0015"
|
MIGRATION_VERSION = "0015"
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=too-many-locals
|
||||||
class Migration(BaseMigration):
|
class Migration(BaseMigration):
|
||||||
"""Migration class."""
|
"""Migration class."""
|
||||||
|
|
||||||
@ -18,29 +19,29 @@ class Migration(BaseMigration):
|
|||||||
|
|
||||||
Calculate and store org storage usage
|
Calculate and store org storage usage
|
||||||
"""
|
"""
|
||||||
orgs = self.mdb["orgs"]
|
mdb_orgs = self.mdb["organizations"]
|
||||||
crawls = self.mdb["crawls"]
|
mdb_crawls = self.mdb["crawls"]
|
||||||
profiles = self.mdb["profiles"]
|
mdb_profiles = self.mdb["profiles"]
|
||||||
|
|
||||||
orgs = [res async for res in orgs.find({})]
|
orgs = [res async for res in mdb_orgs.find({})]
|
||||||
for org in orgs:
|
for org in orgs:
|
||||||
oid = org.get("id")
|
oid = org.get("_id")
|
||||||
|
|
||||||
bytes_stored = 0
|
bytes_stored = 0
|
||||||
|
|
||||||
crawls = [res async for res in crawls.find({"oid": oid})]
|
crawls = [res async for res in mdb_crawls.find({"oid": oid})]
|
||||||
for crawl in crawls:
|
for crawl in crawls:
|
||||||
for crawl_file in crawl.get("files", []):
|
for crawl_file in crawl.get("files", []):
|
||||||
bytes_stored += crawl_file.get("size", 0)
|
bytes_stored += crawl_file.get("size", 0)
|
||||||
|
|
||||||
profiles = [res async for res in profiles.find({"oid": org["id"]})]
|
profiles = [res async for res in mdb_profiles.find({"oid": oid})]
|
||||||
for profile in profiles:
|
for profile in profiles:
|
||||||
profile_file = profile.get("resource")
|
profile_file = profile.get("resource")
|
||||||
if profile_file:
|
if profile_file:
|
||||||
bytes_stored += profile_file.get("size", 0)
|
bytes_stored += profile_file.get("size", 0)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
await orgs.find_one_and_update(
|
res = await mdb_orgs.find_one_and_update(
|
||||||
{"_id": oid}, {"$set": {"bytesStored": bytes_stored}}
|
{"_id": oid}, {"$set": {"bytesStored": bytes_stored}}
|
||||||
)
|
)
|
||||||
# pylint: disable=broad-exception-caught
|
# pylint: disable=broad-exception-caught
|
||||||
|
Loading…
Reference in New Issue
Block a user