-
Notifications
You must be signed in to change notification settings - Fork 5
Phase 8.3: Миграция потребителей с db/models и db/integration на прямые импорты из modules/ #670
Copy link
Copy link
Open
Labels
P3Low priority / BacklogLow priority / Backlogphase:5-techdebtPhase 5: Technical DebtPhase 5: Technical DebtrefactoringArchitectural refactoringArchitectural refactoring
Description
Parent
Часть плана модульной декомпозиции: #489
Контекст
Фасады db/models.py (166 строк) и db/integration.py (100 строк) — тонкие реэкспорты из modules/. Они были необходимы для Strangler Fig миграции, но сейчас все реальные сервисы и модели живут в modules/.
Однако потребители не мигрированы на прямые импорты:
db/models.pyимпортируется из 8+ файлов:orchestrator.py,alembic/env.py,auth_manager.py, тесты, скриптыdb/integration.pyимпортируется из 15+ файлов:orchestrator.py,auth_manager.py,multi_bot_manager.py,whatsapp_bot/, telegram handlers,modules/core/startup.py,modules/channels/startup.py
Что нужно
- Заменить
from db.models import X→from modules.{domain}.models import Xво всех файлах кроме:- Существующих Alembic-миграций (не трогать — правило feat(deploy): add docker configuration for production environment #1 из плана Модульная декомпозиция: план миграции (Strangler Fig) #489)
db/integration.py(сам фасад)db/models.py(сам фасад)
- Заменить
from db.integration import X→from modules.{domain}.service import Xво всех файлах кроме:db/integration.py(сам фасад)
- После миграции оба фасада должны иметь 0 внешних потребителей (кроме Alembic-миграций для
db/models)
Порядок
По одному домену за коммит, начиная с листовых (claude_code, kanban, ecommerce).
Критерии готовности
- Ни один файл в
modules/не импортирует изdb/integration.py - Ни один файл в
modules/не импортирует изdb/models.py -
orchestrator.py,auth_manager.py, скрипты мигрированы на прямые импорты - Бот-подпроцессы (
telegram_bot/,whatsapp_bot/) мигрированы -
db/models.pyостаётся для Alembic-миграций (read-only) - Тесты проходят, CI зелёный
Зависимости
Нет.
Оценка: L (3-5 PR)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P3Low priority / BacklogLow priority / Backlogphase:5-techdebtPhase 5: Technical DebtPhase 5: Technical DebtrefactoringArchitectural refactoringArchitectural refactoring