Files
onGuard24/onguard24/db.py
Alexandr 85eb61b576 v1.1.0: Alembic, pytest, домен и документация
- Миграции PostgreSQL через Alembic; DDL убран из lifespan приложения.
- Тесты: health, status, ingress Grafana; моки Vault/Grafana/Forgejo.
- Пакет onguard24/domain/ (сущности, шина событий), docs/DOMAIN.md.
- Обновлены README, CHANGELOG, ARCHITECTURE.

Made-with: Cursor
2026-04-03 08:36:35 +03:00

17 lines
463 B
Python

import asyncpg
from onguard24.config import Settings
def normalize_dsn(url: str) -> str:
if url.startswith("postgres://"):
return url.replace("postgres://", "postgresql://", 1)
return url
async def create_pool(settings: Settings) -> asyncpg.Pool | None:
if not settings.database_url.strip():
return None
dsn = normalize_dsn(settings.database_url.strip())
return await asyncpg.create_pool(dsn=dsn, min_size=1, max_size=10)