무언가가 주제와 게시물의 가져오기를 방해하고 있습니다. 실행 시 오류가 표시되어야 할 것 같은데, 주제와 게시물은 사용자의 가져오기 후에 생성됩니다. 주제와 게시물은 별도의 함수에서 처리된다고 생각합니다. 가져오기 도구가 사용자의 경우처럼 주제와 게시물에 대한 진행 상황도 표시해야 합니다.
가져오기 과정에서 오류 메시지는 발생하지 않으며, create_users 함수가 실행될 때 잘못된 사용자 이메일 주소에 대한 경고 몇 가지만 표시됩니다. 하지만 결국 사용자 가져오기는 성공적으로 완료됩니다. 로그는 다음과 같습니다(고객 이메일 주소를 포함하고 있어 경고를 제거했습니다):
가져오기 스크립트는 게시물을 생성하기 위해 contenttypeid=23과 contenttypeid=22를 검색합니다.
node 테이블을 빠르게 살펴본 결과, __23__은 첨부파일이 있는 게시물을, __22__는 첨부파일 자체를 나타내는 것 같습니다.
대부분의 게시물은 첨부파일 없이 contenttypeid=21입니다. 그런데 이러한 게시물에 대한 가져오기는 보이지 않습니다. 아니면 다음 코드에서 처리되는 것일까요?
post_count = mysql_query("SELECT COUNT(nodeid) cnt FROM #{DBPREFIX}node WHERE parentid NOT IN (
SELECT nodeid FROM #{DBPREFIX}node WHERE contenttypeid=23 ) AND contenttypeid=22;").first["cnt"]
이 코드는 23/22에 대한 가져오기가 완료된 후 남은 모든 항목을 처리합니다. 하지만 23/22/21 외에도 다른 콘텐츠 유형 ID가 있으므로, 이 경우에도 해당 항목들이 함께 가져와질 것입니다.
그리고 카테고리들은 미리 설정된 ROOT_NODE인 __2__를 기준으로 가져와집니다. 제 “3단계 중첩” URL을 지원하려면 이를 3으로 설정해야 할까요?
업데이트: 방금 ROOT_NODE=3으로 가져오기를 다시 실행해 보았지만 아무런 변화가 없었습니다
def import_categories
puts "", "importing top level categories..."
categories = mysql_query("SELECT nodeid AS forumid, title, description, displayorder, parentid
FROM #{DBPREFIX}node
WHERE parentid=#{ROOT_NODE}
UNION
SELECT nodeid, title, description, displayorder, parentid
FROM #{DBPREFIX}node
WHERE contenttypeid = 20
AND parentid IN (SELECT nodeid FROM #{DBPREFIX}node WHERE parentid=#{ROOT_NODE})").to_a
예를 들어 import_categories 함수는 contenttypeid = 23을 사용하는데, 이는 스크립트가 게시글에 사용하는 ID와 동일합니다. 카테고리의 ID는 20입니다. 스크립트 내부에서 이 값을 변경한 후 마침내 하위 카테고리/토픽을 볼 수 있게 되었습니다