Skip to content

Задача 007: SQLAlchemy Sender Storage

Приоритет: Средний Статус: Запланировано Категория: Персистентность / База данных


🎯 Цель

Реализовать персистентное хранилище координат UI на базе SQLAlchemy (Async). Это позволит ViewSender работать без Redis, сохраняя ID сообщений между перезапусками бота.

🛠 Особенности

  1. Схема БД: Создать простую таблицу codex_bot_sender_coords с полями: session_key, is_channel, menu_msg_id, content_msg_id и updated_at.
  2. Реализация SQLAlchemy: Реализовать SenderStateStorageProtocol с использованием асинхронных сессий SQLAlchemy.
  3. Логика Upsert: Обрабатывать операции «создать или обновить» атомарно, используя специфичные для БД функции upsert (или ручную проверку).
  4. Интеграция: Обеспечить легкое переключение между хранилищами Redis и БД в BotBuilder.

⬅️ Назад к Roadmap