diff --git a/backend/btrixcloud/db.py b/backend/btrixcloud/db.py index 2a13aa92..c874bebf 100644 --- a/backend/btrixcloud/db.py +++ b/backend/btrixcloud/db.py @@ -17,7 +17,7 @@ from pymongo.errors import InvalidName from .migrations import BaseMigration -CURR_DB_VERSION = "0026" +CURR_DB_VERSION = "0027" # ============================================================================ diff --git a/backend/btrixcloud/migrations/migration_0027_profile_modified.py b/backend/btrixcloud/migrations/migration_0027_profile_modified.py new file mode 100644 index 00000000..ddc48eea --- /dev/null +++ b/backend/btrixcloud/migrations/migration_0027_profile_modified.py @@ -0,0 +1,34 @@ +""" +Migration 0027 - Profile modified date fallback +""" + +from btrixcloud.migrations import BaseMigration + + +MIGRATION_VERSION = "0027" + + +class Migration(BaseMigration): + """Migration class.""" + + # pylint: disable=unused-argument + def __init__(self, mdb, **kwargs): + super().__init__(mdb, migration_version=MIGRATION_VERSION) + + async def migrate_up(self): + """Perform migration up. + + If profile doesn't have modified date, set to created + """ + # pylint: disable=duplicate-code + profiles = self.mdb["profiles"] + try: + await profiles.update_many( + {"modified": None}, [{"$set": {"modified": "$created"}}] + ) + # pylint: disable=broad-exception-caught + except Exception as err: + print( + f"Error adding modified date to profiles: {err}", + flush=True, + )