From 155004df5ca2b6f169df5f9853e647b109b0a2f2 Mon Sep 17 00:00:00 2001 From: host Date: Sun, 9 Aug 2026 14:22:11 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=81=D0=BB=D0=BE=D0=B9=20=D0=BF=D0=BE=D0=B4=D0=BA?= =?UTF-8?q?=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BA=20PostgreSQ?= =?UTF-8?q?L?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/database.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 backend/app/database.py diff --git a/backend/app/database.py b/backend/app/database.py new file mode 100644 index 0000000..815741b --- /dev/null +++ b/backend/app/database.py @@ -0,0 +1,23 @@ +from collections.abc import Generator + +from sqlalchemy import create_engine +from sqlalchemy.orm import DeclarativeBase, Session, sessionmaker + +from .config import settings + + +class Base(DeclarativeBase): + """Базовый класс SQLAlchemy-моделей.""" + + +engine = create_engine(settings.database_url, pool_pre_ping=True) +SessionLocal = sessionmaker(bind=engine, autoflush=False, autocommit=False) + + +def get_db() -> Generator[Session, None, None]: + """Открывает сессию БД для одного HTTP-запроса.""" + db = SessionLocal() + try: + yield db + finally: + db.close()