feat: added seseion for sqlite, alembic and ruff, model Timerr, schemas.py, mixin for id, cruds: create timer, get timer, settings.py for db
This commit is contained in:
28
kawai_focus/database/session.py
Normal file
28
kawai_focus/database/session.py
Normal file
@@ -0,0 +1,28 @@
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker, Session
|
||||
|
||||
from kawai_focus.settings import settings
|
||||
|
||||
|
||||
class SessionDB:
|
||||
"""Класс для управления подключением к базе данных."""
|
||||
|
||||
def __init__(self) -> None:
|
||||
self._engine = create_engine(
|
||||
url=settings.db_settings.get_url_db,
|
||||
echo=settings.db_settings.echo_db
|
||||
)
|
||||
self._session_factory = sessionmaker(
|
||||
bind=self._engine,
|
||||
expire_on_commit=False,
|
||||
autocommit=False
|
||||
)
|
||||
|
||||
@property
|
||||
def get_session(self) -> Session:
|
||||
"""Метод для получения сессии"""
|
||||
|
||||
return self._session_factory
|
||||
|
||||
|
||||
db = SessionDB()
|
||||
Reference in New Issue
Block a user