미리 입력된 게시글이 모두 누락됨 - 서비스 약관, FAQ 및 개인정보 보호 페이지 없음

다시 인사드립니다. 제 어설픈 방식대로 Data Explorer에서 다음 쿼리를 시도해 보았지만, Staff 카테고리에서 삭제된 메시지에 대한 관련 결과가 없었습니다.

SELECT *
FROM topics
WHERE deleted_at is not NULL
AND category_id = 3 

또는 어떤 카테고리에서도 마찬가지입니다.

SELECT *
FROM topics
WHERE deleted_at is not NULL

그러면 토픽이 삭제되지 않은 것이라면 다른 문제가 있는 건지 궁금합니다. 사라진 토픽들을 감지할 다른 방법이 있을까요? 아니면 시스템 게시물이 아예 topics 테이블에 저장되지 않는 것일까요?

데이터 탐색기(Data Explorer) 실력을 보여주시네요!
해당 주제들은 확실히 topics 테이블에 있습니다.

다음과 같이 시도해 보세요:

SELECT id, title, deleted_at
FROM topics
Order by id
Limit 10

다음과 같은 결과가 나와야 합니다:

참고로 deleted_by_id도 변경해야 할 수 있습니다.

헤이 @Paul_King, 이거 시도해 봤어?

Nathan, 감사합니다 - 훌륭한 제안입니다.
그러나 삭제된 토픽들 중에서 발견된 가장 낮은 토픽 ID는 20입니다

1~10번 항목 중 어떤 것이 있습니까? 없는 것 같습니다.

처음부터 사이트를 다시 구축한 후 데이터베이스를 어떤 방식으로든 병합하는 것이 앞으로 나아갈 길일 수 있습니다. 아니면 그 PostgreSQL을 직접 해킹해 보는 것도 방법입니다!

네이선 씨 - 그 페이지에는 삭제된 주제 목록이 많이 뜨긴 하지만, 스태프 카테고리에 없는 사전 시드된 주제들은 하나도 없네요

누락된 사전 시드된 게시물이 존재했던 흔적이 전혀 없는 경우, 삭제를 취소하기 위해 데이터베이스를 직접 수정할 수 있을지 궁금합니다. 기존 설치 환경에서 설정 마법사를 다시 실행하여 해당 사전 시드된 게시물이 생성되도록 트리거할 수 있는 방법이 있을까요? 설정 마법사가 처음에 이들을 생략했을 가능성이 있을까요? (아마도 처음에 ‘건너뛰기’ 옵션을 클릭했을 수도 있겠네요?)

설치 당시 최신 버전이었던 discourse에 버그가 있었을 가능성은 없을까요?

누락된 사전 시드된 게시물이 단순히 삭제된 상태로 표시되는 것이 아니라 아예 존재하지 않는다면, 백업된 데이터베이스를 새로운 Discourse 설치 환경에 복원할 때 그 부재가 전파되거나 다른 내용을 덮어쓰지 않을까요? 아니면 시작 데이터베이스가 완전히 제거되고 백업으로 대체되며, 그 모든 결함까지 함께 가져오는 경우일까요?

다른 방법으로 site_settings 테이블에서 tos_topic_id, guidelines_topic_id, privacy_topic_id를 선택해 보는 것도 좋습니다.

죄송합니다, 이 SQL을 사용하세요:

SELECT value
FROM site_settings
WHERE name = 'tos_topic_id'

Kane님 감사합니다.

제가 잘못하고 있는 것일 수도 있지만, 제 경우
SELECT tos_topic_id, site_settings

또는 (어떤 것이 올바른지, 혹은 둘 다 아닌지 모르겠습니다)

SELECT tos_topic_id
FROM
site_settings

을 실행하면
PG::UndefinedColumn: ERROR: column “tos_topic_id” does not exist
LINE 7: SELECT tos_topic_id, site_settings

라는 오류가 발생합니다.

이는 'tos_topic_id’가 존재하지 않는다는 뜻으로 이해하고 있습니다.

guidelines_topic_id와 privacy_topic_id도 비슷한 결과가 나옵니다.

이 정보가 도움이 될 수 있습니다: How to regenerate FAQ and TOS pages?

감사합니다!! 제가 찾고 있던 바로 그 내용이었어요 - 하지만 안타깝게도 마지막 rake topics:update_static[en] 명령을 실행하면 오류가 발생해요. 왜 그런지, 어떻게 해결해야 할지 모르겠네요.

오류가 무엇인가요? (도움이 필요하시다면 오류 메시지를 함께 게시하는 것이 항상 좋은 습관입니다. :wink:)

@Paul_King update_static 실행 시에도 오류가 발생했지만, 제 FAQ 페이지는 복구되었습니다!
@gerhard 오류 내용은 다음과 같으며, Paul에게도 동일한 오류가 발생한 것 같습니다.

[5] pry(main)> rake topics:update_static[zh_CN]
NameError: undefined local variable or method `update_static' for main:Object

rails 콘솔에서 rake 작업을 실행하셨는데, 이렇게는 동작하지 않습니다. 올바르게 실행하게 되면, rake 작업이 더 이상 존재하지 않는다는 것을 알게 되실 겁니다. :wink:

대신 Update seeded categories and topics에 설명된 “수동 업데이트” 방법을 권장합니다. How to regenerate FAQ and TOS pages? - #2 by gerhard 의 단계를 이에 맞춰 수정했습니다.

회원가입 대화상자에서 이용약관(TOS) 및 개인정보 처리방침(Privacy) 링크를 작동시키는 방법이 있을까요? 위에 언급된 방법들은 저에게는 효과가 없었습니다. 링크는 없지만, 이용약관과 개인정보 처리방침 주제를 다시 생성할 수는 있습니다.

이 주제들이 처음부터 어떻게 사라지게 되었는지는 정확히 알 수 없습니다. 처음 발견했을 때 제가 실수로 삭제한 줄 알았지만, 문서를 읽어본 결과 사용자 인터페이스에서는 그런 일이 일어나서는 안 되는 것으로 보입니다. 다른 사용자들도 비슷한 문제를 겪고 있는 것으로 보이므로, 어딘가에 버그가 있는 것일 수 있습니다.

폴, 결국 어떻게 되었는지 정확히 모르겠지만, 이제 이 기능을 사용해 직접 TOS와 개인정보 처리방침 페이지를 만들 수 있습니다:

https://meta.discourse.org/t/page-publishing/151971/31

훌륭해요! 미리 알려줘서 고마워, 네이선.

확인했는데, 정말로 효과가 있었어요!

새로운 가입 다이얼로그에 포함된 링크가 작동하려면, 게시된 게시물을 위해 생성된 URL을 '외부 호스팅’된 서비스 약관 및 개인정보 처리방침 페이지인 것처럼 설정/법적 항목의 해당 필드에 복사/붙여넣기해야 합니다. (가입 다이얼로그에서 FAQ가 제외된 이유는 정확히 모르겠지만, 이 URL도 여기에 설정할 수 있어요 - 다만 가입 다이얼로그에 포함되지 않는다면 이 필드의 목적이나 다른 곳에서 이 필드로 링크되는 것이 무엇인지 확실하지 않아요.

사이트가 다른 URL로 이전되면 문제가 될 수 있는 임시 해결책이지만, 적어도 사용자가 가입하기 전에 서비스 약관 등을 실제로 확인할 수 있는 옵션을 제공할 수 있어서 지금은 아주 좋아요!