From a9da4c2b81a0c04175643e61c0c0639c808c96cb Mon Sep 17 00:00:00 2001 From: "ahmed.mujtaba" Date: Thu, 20 Aug 2026 17:59:48 +0500 Subject: [PATCH] updated db_seetup --- backend/db_setup.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/backend/db_setup.py b/backend/db_setup.py index 5ce0337..c57371e 100644 --- a/backend/db_setup.py +++ b/backend/db_setup.py @@ -76,7 +76,7 @@ class Settings(BaseSettings): return value def url(self, *, async_driver: bool = True) -> URL: - """DSN with the driver forced; `sslmode` is translated to asyncpg's `ssl`.""" + """DSN with the driver forced; `sslmode` is mapped to asyncpg's `ssl` mode name.""" url = ( make_url(self.database_url) if self.database_url @@ -92,8 +92,9 @@ class Settings(BaseSettings): query = dict(url.query) if self.db_sslmode: query.setdefault("sslmode", self.db_sslmode) - if async_driver and query.pop("sslmode", None) not in (None, "disable", "allow", "prefer"): - query["ssl"] = "true" + # asyncpg accepts ssl as an SSLMode name (require, verify-full, …), not "true". + if async_driver and (mode := query.pop("sslmode", None)) is not None: + query["ssl"] = mode driver = "asyncpg" if async_driver else "psycopg2" return url.set(drivername=f"postgresql+{driver}", query=query)