Merge pull request #4794 from BerriAI/litellm_apply_db_fixes_to_newer_version

fix - add fix to update spend logs discrepancy for team spend
This commit is contained in:
Ishaan Jaff 2024-07-19 12:52:57 -07:00 committed by GitHub
commit fa04595328
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 31 additions and 0 deletions

View file

@ -2604,6 +2604,9 @@ async def startup_event():
### CHECK IF VIEW EXISTS ###
if prisma_client is not None:
create_view_response = await prisma_client.check_view_exists()
# Apply misc fixes on DB
# [non-blocking] helper to apply fixes from older litellm versions
asyncio.create_task(prisma_client.apply_db_fixes())
### START BATCH WRITING DB + CHECKING NEW MODELS###
if prisma_client is not None:

View file

@ -1920,6 +1920,34 @@ class PrismaClient:
)
raise e
async def apply_db_fixes(self):
try:
verbose_proxy_logger.debug(
"Applying LiteLLM - DB Fixes fixing logs in SpendLogs"
)
sql_query = """
UPDATE "LiteLLM_SpendLogs"
SET team_id = (
SELECT vt.team_id
FROM "LiteLLM_VerificationToken" vt
WHERE vt.token = "LiteLLM_SpendLogs".api_key
)
WHERE team_id IS NULL
AND EXISTS (
SELECT 1
FROM "LiteLLM_VerificationToken" vt
WHERE vt.token = "LiteLLM_SpendLogs".api_key
);
"""
response = await self.db.query_raw(sql_query)
verbose_proxy_logger.debug(
"Applied LiteLLM - DB Fixes fixing logs in SpendLogs, Response=%s",
response,
)
except Exception as e:
verbose_proxy_logger.debug(f"Error apply_db_fixes: {str(e)}")
return
class DBClient:
"""