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:
@@ -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}"
|
||||||
|
|||||||
Reference in New Issue
Block a user