Files
hockey_new/README_BUILD183.txt

61 lines
5.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

BUILD183 — 2026.10.02.4
Поля SQL в Mapping до выбора игрока
Установка поверх BUILD182:
1. Остановите сервер и сохраните копии четырёх заменяемых файлов.
2. Распакуйте архив в корень проекта, где находится app.py, с сохранением папок.
3. Запустите сервер. Обновите браузер Ctrl+F5.
В архиве только изменённые файлы программы и эта инструкция. База данных,
локальные конфиги, сохранённые SQL и существующие связи не заменяются.
Миграция БД и новые зависимости не требуются.
Что исправлено:
- Если в runtime нет игрока, окно Mapping больше не передаёт пустой
selected_player_id поверх сохранённого выбора оператора.
- Когда обязательный ID ещё не выбран, административный каталог и проверка SQL
получают структуру результата через SELECT ... LIMIT 0, без выборки строк.
Поля включённого сохранённого источника можно связывать с любым Input заранее.
- Проверка SQL показывает колонки и предупреждение о недостающих переменных.
Для проверки значений выберите игрока в главном блоке «Выбранный игрок» или
задайте external ID в разделе «Переменные» для текущего матча.
- Настоящее выполнение SQL для титров по-прежнему требует выбранного игрока.
Список полей из редактора не отправляется в vMix как пустые данные.
Кнопки блоков сохраняют свой контекст игрока и обновляют SQL перед Preview.
- Описание структуры действует только в административном редакторе,
ограничено read-only транзакцией и таймаутом 2 секунды. Есть небольшой
ограниченный кэш структуры на 60 секунд; изменение текста SQL сразу даёт
новую структуру. Автообновление и таймеры не запускают этот механизм.
Как связать тот же запрос с другим титром:
1. Сохраните SQL-источник и оставьте «Источник включён» включённым.
2. Откройте Mapping и выберите нужный Input по названию.
3. Найдите поля своего источника и создайте/сохраните нужные связи.
Игрок не обязан быть выбран, чтобы настроить эти связи.
4. Для проверки реальных значений выберите игрока и проверьте SQL/вызов титра.
Включать автообновление ради создания связи не требуется.
Исправление в присланном запросе «Выбранный игрок»:
Строка p.external_id AS "id", p.* создаёт два поля с именем id.
Поле из p.* может заменить внешний ID внутренним p.id при чтении результата.
Для перечисленных в запросе полей замените эту строку на:
p.external_id AS "id",
p.id AS "player_db_id",
Остальная часть запроса остаётся такой же. Если нужны другие поля из p.*,
перечислите их явно с уникальными именами. Сохранённый SQL автоматически
не переписывается.
Проверено локально:
- 6 новых проверок: структура без выбора, реальное выполнение после выбора,
сохранность SQL, отсутствие вычисления строк при получении структуры,
обработка ошибки структуры, PostgreSQL read-only/таймаут/rollback,
административный каталог и отсутствие пустых команд в vMix.
- Существующие проверки SQL, Mapping, кнопок, удаления и контекста.
- Браузер: связь ко второму Input и сохранение обоих титров при нуле строк,
колонки/предупреждение, внешний ID, язык, сохранность черновика.
- Python/JavaScript проверены на синтаксис.
Реальный сервер PostgreSQL и подключение к вашему vMix в этой проверке
не использовались: проверки выполнялись изолированно и с имитацией команд.