Редакционный порядок центра помощи Chatballs
chatballs.json задаёт порядок опубликованных статей внутри каждого раздела и
направленные связи между статьями. Карта охватывает 72 русскоязычные статьи и
170 переходов. Она не меняет тексты, категории и статусы публикации.
Команда apply_portal_curation сначала проверяет, что карта полностью совпадает
с опубликованными статьями выбранного портала: состав, разделы, язык и ссылки.
Без --apply она только показывает число записей, которые были бы изменены.
После штатной выкладки версии с миграцией 0012_article_curation:
cat chatballs.json | ssh ubuntu@SERVER \
'cd /home/ubuntu && docker compose exec -T backend-admin \
python /app/apps/backend/manage.py apply_portal_curation \
--host chatballs.com.edevs.tech --file -'
После сверки результата тот же запуск с --apply сохраняет порядок и связи.
Повторный запуск идемпотентен: при уже применённой карте число изменений равно
нулю. Файл передаётся через stdin и не сохраняется на сервере, поскольку
production-образ не содержит этот каталог документации.