Сервер: разрешить replay старых числовых каналов

This commit is contained in:
AidarKC
2026-07-26 16:57:04 +04:00
parent 91e7239866
commit b5116474c7
4 changed files with 37 additions and 6 deletions
@@ -34,3 +34,26 @@
- Серверную документацию по БД и миграциям.
- Инструкции по локальному запуску сервера.
- Скрипты деплоя и настройки окружения.
## Что временно отключено и что вернуть потом
- В серверном runtime временно снята проверка `channelName must not contain only digits`
в `SHiNE-server/shine-server-db/src/main/java/shine/db/channels/ChannelNameRules.java`.
- Причина: на боевой истории уже есть блоки с числовыми именами каналов, и сервер
должен уметь с нуля восстановить `blockchain_state` и `.bch`, подтягивая старые
блоки от других sync-серверов.
- Что осталось как текущее поведение:
- UI по-прежнему не даёт создать новый канал только из цифр;
- сервер принимает такие имена, чтобы не ломать replay старых блоков.
- Что нужно сделать отдельным следующим шагом:
- вернуть серверное продуктовое правило для новых каналов;
- сделать это совместимо со старой историей, чтобы импорт/реплей существующих
блоков не падал на старых числовых channel name.
- Какие документы обновить при возврате:
- `docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md`;
- UI/серверные документы по правилам имён каналов, если появится отдельная спецификация.
- С какого сценария продолжать:
- повторить cold start тест на `t2`: пустая PostgreSQL schema, удалённые `.bch`,
новый запуск, ожидание полной синхронизации от `t1`/`t3`.
- Последняя полная рабочая точка с этим временным компромиссом:
- ветка `migration-postgres`, коммит будет создан после этой записи.