{"record":{"id":"851c53f6ba75c330","repo":"BerriAI/litellm","slug":"database-not-connected-connect-a-database-to-your-851c53","errorCode":null,"errorMessage":"Database not connected. Connect a database to your proxy - https://docs.litellm.ai/docs/simple_proxy#managing-auth---virtual-keys","messagePattern":"Database not connected\\. Connect a database to your proxy - https://docs\\.litellm\\.ai/docs/simple_proxy#managing-auth---virtual-keys","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"litellm/integrations/focus/database.py","lineNumber":18,"sourceCode":"\"\"\"Database access helpers for Focus export.\"\"\"\n\nfrom __future__ import annotations\n\nfrom datetime import datetime\nfrom typing import Any, Final\n\nimport polars as pl\n\n\nclass FocusLiteLLMDatabase:\n    \"\"\"Retrieves LiteLLM usage data for Focus export workflows.\"\"\"\n\n    def _ensure_prisma_client(self):\n        from litellm.proxy.proxy_server import prisma_client\n\n        if prisma_client is None:\n            raise RuntimeError(\n                \"Database not connected. Connect a database to your proxy - \"\n                \"https://docs.litellm.ai/docs/simple_proxy#managing-auth---virtual-keys\"\n            )\n        return prisma_client\n\n    async def get_usage_data(\n        self,\n        *,\n        limit: int | None = None,\n        start_time_utc: datetime | None = None,\n        end_time_utc: datetime | None = None,\n    ) -> pl.DataFrame:\n        \"\"\"Return usage data for the requested window.\"\"\"\n        client: Final = self._ensure_prisma_client()\n\n        where_clauses: Final[list[str]] = []\n        query_params: Final[list[Any]] = []\n        placeholder_index = 1","sourceCodeStart":1,"sourceCodeEnd":36,"githubUrl":"https://github.com/BerriAI/litellm/blob/6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d/litellm/integrations/focus/database.py#L1-L36","documentation":"Error \"Database not connected. Connect a database to your proxy - https://docs.litellm.ai/docs/simple_proxy#managing-auth---virtual-keys\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/integrations/focus/database.py:18 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Connect a database to the proxy (set DATABASE_URL) to enable Focus usage export."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d","analyzedAt":"2026-08-15T07:12:03.035Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}