import 추가 > 게시물이 가져와지지 않음 (해결됨)

안녕하세요,

수정: 잘못된 카테고리에 게시물을 올린 점 사과드립니다. 또한, 어찌 된 일인지 이전 데이터베이스로 작업을 하고 있었던 것 같아 아무것도 추가되지 않은 것이 놀랍지 않네요 ;p 새 데이터베이스로 다시 시도해 보겠습니다. 잘 되길 바랍니다.
아래에 있는 제 마지막 두 질문은 여전히 유효합니다 :slight_smile:

현재 커뮤니티를 Discourse로 전환하는 준비를 하고 있으며, D-Day에 모든 것이 순조롭게 진행되도록 몇 가지 테스트 임포트를 수행하고 있습니다. 저는 phpbb3 임포터를 사용하고 있습니다. (phpbb2 포럼을 사용 중이므로, phpbb2를 먼저 phpbb3로 변환한 뒤, 그 phpbb3를 Discourse로 변환하는 우회 방식을 취하고 있습니다.)

먼저 데이터베이스 백업(phpbb2에서 phpbb3로, 다시 Discourse로 변환된 것)을 임포트했습니다.
그 후 카테고리를 이동하고, 새로운 하위 카테고리를 생성했으며, 특정 포럼에 대한 그룹을 새로 만들고 권한을 설정했습니다.

그런 다음 새 데이터를 추가해 보았습니다. 첫 번째 백업보다 더 많은 게시글/사용자 등을 포함하는 새로운 phpbb3 내보내기 데이터베이스(다시 phpbb2를 거쳐)를 생성했습니다. 임포트 스크립트를 사용하여 이를 임포트했습니다. 오류 없이 실행되었습니다. Discourse 컨테이너를 재시작하는 등 조치도 취했습니다.

하지만 보드를 확인해 보니 게시글이 전혀 임포트되지 않은 것을 발견했습니다. 새 포럼에서 삭제했던 백업 데이터베이스의 일부 최상위 카테고리만 남아 있었습니다. 새 게시글은 하나도 임포트되지 않았습니다.

따라서, 이제 제 질문은 다음과 같습니다:

  • 새 데이터를 어떤 방식으로든 추가하는 것이 가능한가요, 아니면 데이터베이스의 더 최신 버전을 사용할 때마다 처음부터 새 임포트를 해야 하나요?
  • 새 데이터베이스를 변환할 때 현재 카테고리와 접근 권한을 유지하는 방법이 있나요?
  • 임포터가 추가가 아닌 새 임포트를 수행하도록 지시하는 방법은 무엇인가요?

도움 주시면 감사하겠습니다!
감사드리며 즐거운 명절 보내시길 바랍니다.
Q

아무것도 삭제하지 않으면 카테고리, 사용자, 게시물에 대해 수행한 변경 사항이 유지됩니다.

처음부터 다시 시작하려면 postgres 디렉터리를 삭제하고 다시 빌드하는 것이 좋습니다. 핵심은 기존 데이터베이스의 ID를 기록하기 위해 카테고리, 사용자, 주제, 게시물에 추가된 사용자 정의 필드에 있습니다.

정말 감사합니다 @pfaffman! :slight_smile:

드디어 모든 것을 성공적으로 가져왔습니다 :smiley: (올바른 :roll_eyes: 데이터베이스로요)

말씀하신 대로 가져오기 후에도 모든 데이터가 그대로 남아 있었습니다. 정말 큰 안도감이 듭니다. 이는 기존 포럼을 종료하고 실제 이전 작업을 수행하기 전에 새 포럼을 완전히 준비할 수 있다는 뜻입니다 :slight_smile: (그리고 마지막 이전 작업을 한 이후에 게시된 내용만 가져오면 되므로, 거대한 데이터베이스 전체를 가져올 필요가 없어 이전 속도도 훨씬 빨라질 것입니다).

이어서 새로운 질문이 생겼습니다 - 만약 사람들이 discourse 포럼에 새로운 글을 게시한다면, 더 최신 데이터베이스로 새 가져오기를 수행할 때 그 내용도 유지될까요? 그렇다면 사용자를 새 포럼으로 먼저 유도한 뒤, 나머지 데이터를 나중에 가져오는 방식도 가능하다는 뜻인가요?

네, 유지됩니다. 하지만 그렇게 하는 것을 권장하지 않습니다. 최종 가져오기는 1시간 미만으로 완료되어야 합니다. 문제가 발생하면 데이터 손실에 대한 걱정 없이 복원하고 처음부터 다시 시작할 수 있습니다. 또한 사람들이 특정 주제에 게시물을 올린 후 더 오래된 데이터가 가져와질 경우, 게시물의 순서가 어긋나게 됩니다.

게시글 순서가 어긋나는 문제에 대해 좋은 지적이네요.

1시간이면 충분했으면 좋았을 텐데… phpbb3를 우회해서 진행해야 하기 때문에 변환에만 6~8시간 정도 걸립니다. 게다가 discourse로의 변환 시간도 따로 계산해야 하죠. 그래서 모든 장애물을 부드럽게 넘기려고 테스트를 여러 번 돌리고 있습니다.

다만, 약간의 다운타임은 감당할 수 있습니다. 미리 알려주셔서 감사합니다!