커스터마이징된 마이그레이션 이후, 많은 영구 링크(permalink)가 주제 URL 자체 대신 해당 주제의 첫 번째 게시물을 가리키고 있었습니다.
예를 들어, 영구 링크가 다음과 같이 가리키는 경우: https://forum.example.com/t/example-topic/123/1
대신 다음과 같아야 합니다: https://forum.example.com/t/example-topic/123
확인 방법
아래 SQL 쿼리에 대한 레코드가 존재한다면 해당 Discourse 포럼이 영향을 받은 것입니다:
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;
빠른 수정
이 쿼리는 원래 주제의 첫 번째 게시물을 가리키던 영구 링크가 주제 URL을 직접 가리키도록 변경합니다.
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;