From c39cfc14fb263b58565bdfbecdb2baa81357f9b2 Mon Sep 17 00:00:00 2001 From: GareArc Date: Mon, 25 May 2026 22:06:58 -0700 Subject: [PATCH] refactor(migration): clarify LB collision key includes model_name intentionally --- api/services/legacy_model_type_migration.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/api/services/legacy_model_type_migration.py b/api/services/legacy_model_type_migration.py index e52493dff2..7b1f0c8fe2 100644 --- a/api/services/legacy_model_type_migration.py +++ b/api/services/legacy_model_type_migration.py @@ -1896,6 +1896,9 @@ class Migration: stmt_winner = stmt_winner.with_for_update() winner_lb_rows = session.execute(stmt_winner).scalars().all() + # Key includes model_name because a credential can serve multiple models + # (e.g., gpt-4o and gpt-4o-mini) — LB rows for different models under the + # same credential are NOT duplicates and must not be deleted. winner_keys: set[tuple[str, str, str]] = { (str(r.provider_name), str(r.model_name), str(r.model_type)) for r in winner_lb_rows