From be4da6dc5c4736e9515eb27dc7b95f093225bb81 Mon Sep 17 00:00:00 2001 From: retoor Date: Thu, 3 Sep 2026 04:19:58 +0000 Subject: [PATCH] Update --- devplacepy/database/schema.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/devplacepy/database/schema.py b/devplacepy/database/schema.py index 180d408..21e3637 100644 --- a/devplacepy/database/schema.py +++ b/devplacepy/database/schema.py @@ -38,6 +38,7 @@ def init_db(): _index(db, "users", "idx_users_role", ["role", "created_at"]) _index(db, "users", "idx_users_last_seen", ["last_seen"]) _index(db, "users", "idx_users_created_at", ["created_at"]) + _ensure_users_uid() _index(db, "posts", "idx_posts_user_uid", ["user_uid"]) _index(db, "posts", "idx_posts_created_at", ["created_at"]) _index(db, "posts", "idx_posts_topic", ["topic"]) @@ -2059,6 +2060,26 @@ def migrate_ai_gateway_settings() -> None: migrate_retired_image_gateway() +def _ensure_users_uid() -> int: + if "users" not in db.tables: + return 0 + users = get_table("users") + if not users.has_column("uid"): + users.create_column_by_example("uid", "") + import uuid_utils + + updated = 0 + for user in users.find(): + if not user.get("uid"): + users.update( + {"id": user["id"], "uid": str(uuid_utils.uuid7())}, ["id"] + ) + updated += 1 + if updated: + logger.info("Backfilled uid for %s user(s)", updated) + return updated + + def backfill_api_keys() -> int: users = get_table("users") if not users.has_column("api_key"):