Задача 007: SQLAlchemy Sender Storage
Приоритет: Средний Статус: Запланировано Категория: Персистентность / База данных
🎯 Цель
Реализовать персистентное хранилище координат UI на базе SQLAlchemy (Async). Это позволит ViewSender работать без Redis, сохраняя ID сообщений между перезапусками бота.
🛠 Особенности
- Схема БД: Создать простую таблицу
codex_bot_sender_coordsс полями:session_key,is_channel,menu_msg_id,content_msg_idиupdated_at. - Реализация SQLAlchemy: Реализовать
SenderStateStorageProtocolс использованием асинхронных сессий SQLAlchemy. - Логика Upsert: Обрабатывать операции «создать или обновить» атомарно, используя специфичные для БД функции upsert (или ручную проверку).
- Интеграция: Обеспечить легкое переключение между хранилищами Redis и БД в
BotBuilder.