From b00ddbd9eca794ac2efc7389a3e40df9edfbcd9e Mon Sep 17 00:00:00 2001 From: Bakar Tavadze Date: Fri, 29 Mar 2024 20:25:56 +0400 Subject: [PATCH] Fix error that prevents continuing old threads that were migrated. Co-authored-by: Nuno Campos --- tools/redis_to_postgres/migrate_data.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/redis_to_postgres/migrate_data.py b/tools/redis_to_postgres/migrate_data.py index e010e978..ab16d5f9 100644 --- a/tools/redis_to_postgres/migrate_data.py +++ b/tools/redis_to_postgres/migrate_data.py @@ -187,6 +187,11 @@ async def migrate_checkpoints() -> None: config = {"configurable": {"user_id": user_id, "thread_id": thread_id}} checkpoint = redis_checkpoint.get(config) if checkpoint: + if checkpoint.get("channel_values", {}).get("__root__"): + checkpoint["channel_values"]["__root__"] = [ + msg.__class__(**msg.__dict__.items()) + for msg in checkpoint["channel_values"]["__root__"] + ] await postgres_checkpoint.aput(config, checkpoint) logger.info( f"Migrated checkpoint for thread {thread_id} for user {user_id}."