feat/5-db
dev
Модель данных (13 таблиц), миграции Alembic с применением при старте, FSM aiogram в БД (диалоги переживают рестарт), фоновая TTL-чистка.
Closes #5
make lint && make test # 30 тестов, в т.ч. дрейф моделей ↔ миграций docker compose up -d --wait postgres docker compose run --rm --no-deps bot python -m app.db.migrate docker compose exec postgres psql -U tgit -d tgit -c '\dt'
🤖 Generated with Claude Code
- app/db/models.py: 13 таблиц (ARCHITECTURE §2.10); перечисления — VARCHAR + CHECK, JSON → JSONB на Postgres, BIGINT/INTEGER-ключи для SQLite - миграция 0001 (автогенерация + ручная чистка: импорт sa.Text, дубли CHECK) - миграции применяются при старте бота программно (app.db.migrate), script_location из пакета - SqlStorage: FSM aiogram поверх fsm_state — состояние переживает рестарт (перенесено из #4) - cleanup_loop: истёкшие черновики, снимки контейнеров и попытки входа старше суток - тесты: upgrade/downgrade, дрейф моделей и миграций, CHECK, CASCADE, FSM, чистка Refs #5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
f022731a5d
282920e06b
No dependencies set.
The note is not visible to the blocked user.
Что меняется
Модель данных (13 таблиц), миграции Alembic с применением при старте, FSM aiogram в БД (диалоги переживают рестарт), фоновая TTL-чистка.
Closes #5
Как проверить
Заметки
Чек-лист
🤖 Generated with Claude Code
f022731a5dto282920e06bPull request closed