refactor: завершить platform migration и удалить deprecated telegram_* scaffolding #104

Closed
Toutsu wants to merge 0 commits from refactor/issue-36-platform-migration into main
Owner

Summary

Завершение платформенной миграции: core domain больше не зависит от устаревших telegram_* колонок. Все чтения/записи переведены на platform + external_*. Legacy-поля остаются в схеме для безопасного отката, но помечены deprecated в миграциях.

Changes

  • V024: backfill players.external_*, game_groups.external_*, calendar_subscriptions.user_platform/user_external_id; deprecation comments на все legacy-колонки
  • V025: backfill reschedule_proposals.proposed_by_external_user_id
  • Bot handlers: все WHERE/JOIN/INSERT переведены с telegram_id/telegram_chat_id на platform + external_*
  • Shared handlers: убраны все COALESCE(external_*, telegram_*) fallback
  • HandleRsvpHandler: убран legacy UNION с gm_telegram_id, теперь только group_managers
  • DiscordBot: убран COALESCE fallback в списке сессий и reschedule
  • Web SessionService: все SQL переведены на external_group_id::BIGINT / external_user_id::BIGINT
  • CalendarSubscriptionService: INSERT/SELECT переведены на user_platform/user_external_id
  • Tests: добавлены asserts для V024/V025

Test plan

  • dotnet build — zero errors/warnings
  • dotnet test — 291 tests passed
  • dotnet format --verify-no-changes — clean
  • grep verification: no COALESCE(.*telegram_) or p.telegram_id = in src/ outside migrations

Workflow

  • CI passes
  • Code review approved
  • Deployed
  • Release published
## Summary Завершение платформенной миграции: core domain больше не зависит от устаревших `telegram_*` колонок. Все чтения/записи переведены на `platform` + `external_*`. Legacy-поля остаются в схеме для безопасного отката, но помечены deprecated в миграциях. ## Changes - **V024**: backfill `players.external_*`, `game_groups.external_*`, `calendar_subscriptions.user_platform/user_external_id`; deprecation comments на все legacy-колонки - **V025**: backfill `reschedule_proposals.proposed_by_external_user_id` - **Bot handlers**: все WHERE/JOIN/INSERT переведены с `telegram_id`/`telegram_chat_id` на `platform` + `external_*` - **Shared handlers**: убраны все `COALESCE(external_*, telegram_*)` fallback - **HandleRsvpHandler**: убран legacy UNION с `gm_telegram_id`, теперь только `group_managers` - **DiscordBot**: убран `COALESCE` fallback в списке сессий и reschedule - **Web SessionService**: все SQL переведены на `external_group_id::BIGINT` / `external_user_id::BIGINT` - **CalendarSubscriptionService**: INSERT/SELECT переведены на `user_platform`/`user_external_id` - **Tests**: добавлены asserts для V024/V025 ## Test plan - [x] `dotnet build` — zero errors/warnings - [x] `dotnet test` — 291 tests passed - [x] `dotnet format --verify-no-changes` — clean - [x] `grep` verification: no `COALESCE(.*telegram_)` or `p.telegram_id =` in `src/` outside migrations ## Workflow - [ ] CI passes - [ ] Code review approved - [ ] Deployed - [ ] Release published
Toutsu added 1 commit 2026-05-26 16:42:30 +03:00
- Добавлены миграции V024 (backfill + deprecation comments + calendar_subscriptions platform identity) и V025 (backfill proposed_by_external_user_id)
- Все Bot handlers переведены с telegram_id/chat_id на platform + external_*
- Shared handlers очищены от COALESCE fallback с telegram_* колонками
- DiscordBot очищен от COALESCE fallback
- Web SessionService и CalendarSubscriptionService переведены на external_*
- HandleRsvpHandler: убран legacy UNION с gm_telegram_id, теперь только group_managers
- RescheduleVotingFinalizer: переведен на external_username/external_user_id
- Tests: добавлены asserts для V024/V025
- Версия обновлена до 3.1.0

Bump version → 3.1.0

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Toutsu added 1 commit 2026-05-26 16:59:17 +03:00
test: update DiscordProjectStructureTests version asserts to 3.1.0
PR Checks / test-and-build (pull_request) Successful in 13m24s
c69ebf6c03
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Toutsu closed this pull request 2026-05-26 18:23:04 +03:00
Some checks are pending
PR Checks / test-and-build (pull_request) Successful in 13m24s

Pull request closed

Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Toutsu/GmRelayBot#104