refactor: удалить мёртвый код в bd/__init__.py

DATABASE_URL_asyncpg нигде не использовался — реально работает только
DATABASE_URL_syncpg/pg8000 через синхронный engine. validate_db_port был
не подключён как pydantic-валидатор (нет декоратора) и никогда не
вызывался — DB_PORT конвертируется строкой выше через голый int().

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
jze9
2026-07-16 11:54:21 +05:00
parent 6bda64ccbc
commit ab1788c57f

View File

@@ -1,6 +1,5 @@
# Database configuration package # Database configuration package
from pydantic import BaseModel from pydantic import BaseModel
import re
import os import os
import urllib.parse import urllib.parse
@@ -11,24 +10,7 @@ class Settings(BaseModel):
DB_PASS: str = os.getenv("DB_PASS", "") DB_PASS: str = os.getenv("DB_PASS", "")
DB_NAME: str = os.getenv("DB_NAME", "profi") DB_NAME: str = os.getenv("DB_NAME", "profi")
@classmethod @property
def validate_db_port(cls, v):
# Проверка и преобразование DB_PORT
if isinstance(v, str):
# Используем регулярное выражение для извлечения целого числа
match = re.search(r'\d+', v)
if match:
return int(match.group())
else:
raise ValueError(f"Invalid DB_PORT value: {v}")
return v
@property
def DATABASE_URL_asyncpg(self) -> str:
pwd = urllib.parse.quote_plus(str(self.DB_PASS))
return f"postgresql+asyncpg://{self.DB_USER}:{pwd}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_NAME}"
@property
def DATABASE_URL_syncpg(self) -> str: def DATABASE_URL_syncpg(self) -> str:
pwd = urllib.parse.quote_plus(str(self.DB_PASS)) pwd = urllib.parse.quote_plus(str(self.DB_PASS))
return f"postgresql+pg8000://{self.DB_USER}:{pwd}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_NAME}" return f"postgresql+pg8000://{self.DB_USER}:{pwd}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_NAME}"