diff --git a/litellm-proxy-extras/litellm_proxy_extras/schema.prisma b/litellm-proxy-extras/litellm_proxy_extras/schema.prisma index 7604ceadf7a..2a2665f9731 100644 --- a/litellm-proxy-extras/litellm_proxy_extras/schema.prisma +++ b/litellm-proxy-extras/litellm_proxy_extras/schema.prisma @@ -5,6 +5,7 @@ datasource client { generator client { provider = "prisma-client-py" + recursive_type_depth = -1 binaryTargets = ["native", "debian-openssl-1.1.x", "debian-openssl-3.0.x", "linux-musl", "linux-musl-openssl-3.0.x"] } diff --git a/litellm/proxy/schema.prisma b/litellm/proxy/schema.prisma index 7604ceadf7a..2a2665f9731 100644 --- a/litellm/proxy/schema.prisma +++ b/litellm/proxy/schema.prisma @@ -5,6 +5,7 @@ datasource client { generator client { provider = "prisma-client-py" + recursive_type_depth = -1 binaryTargets = ["native", "debian-openssl-1.1.x", "debian-openssl-3.0.x", "linux-musl", "linux-musl-openssl-3.0.x"] } diff --git a/schema.prisma b/schema.prisma index 7604ceadf7a..2a2665f9731 100644 --- a/schema.prisma +++ b/schema.prisma @@ -5,6 +5,7 @@ datasource client { generator client { provider = "prisma-client-py" + recursive_type_depth = -1 binaryTargets = ["native", "debian-openssl-1.1.x", "debian-openssl-3.0.x", "linux-musl", "linux-musl-openssl-3.0.x"] } diff --git a/tests/test_litellm/proxy/test_prisma_schema.py b/tests/test_litellm/proxy/test_prisma_schema.py new file mode 100644 index 00000000000..8ca9556ef92 --- /dev/null +++ b/tests/test_litellm/proxy/test_prisma_schema.py @@ -0,0 +1,25 @@ +import re +from pathlib import Path +from typing import Final + +import pytest + + +REPOSITORY_ROOT: Final = Path(__file__).resolve().parents[3] +SCHEMA_PATHS: Final = ( + REPOSITORY_ROOT / "schema.prisma", + REPOSITORY_ROOT / "litellm/proxy/schema.prisma", + REPOSITORY_ROOT / "litellm-proxy-extras/litellm_proxy_extras/schema.prisma", +) + + +@pytest.mark.parametrize("schema_path", SCHEMA_PATHS) +def test_prisma_client_uses_recursive_types(schema_path: Path) -> None: + schema: Final = schema_path.read_text(encoding="utf-8") + generator_settings: Final = schema.partition("generator client {")[2].partition("}")[0] + + assert re.search( + r"^\s*recursive_type_depth\s*=\s*-1\s*$", + generator_settings, + flags=re.MULTILINE, + )