После кастомизированной миграции многие пермалинки указывали на первый пост в теме, а не на саму тему.
Например, пермалинки указывали на https://forum.example.com/t/example-topic/123/1
вместо https://forum.example.com/t/example-topic/123
Проверка
Форум Discourse затронут, если для этого SQL-запроса есть записи:
SELECT permalinks.*,
posts.id,
posts.topic_id,
posts.post_number
FROM permalinks
LEFT JOIN posts
ON posts.id = permalinks.post_id
WHERE permalinks.post_id IS NOT NULL
AND posts.post_number = 1
LIMIT 20;
Быстрое исправление
Это изменение направляет пермалинки непосредственно на тему, если изначально они указывали на первый пост в теме.
UPDATE permalinks
SET topic_id = posts.topic_id,
post_id = NULL
FROM posts
WHERE permalinks.post_id = posts.id
AND permalinks.post_id IS NOT NULL
AND posts.post_number = 1;
Это может быть хорошим例行ным скриптом очистки, который стоит запускать в конце скриптов миграции.