jin0
(jin0)
1
기존 Discourse를 새 Discourse로 마이그레이션하려고 시도 중인데 문제가 생기고 있습니다.
기존 Discourse 버전은 2.8.0.beta4 (d3779d4cf7)였습니다.
이 버전의 업그레이드가 불가능하여, 새 Discourse를 생성하여 마이그레이션을 시도하고 있습니다.
그러나 기존 Discourse에서 생성된 백업 파일을 새로 생성한 Discourse에 업로드할 수 없습니다.
이 사항과 기타 여러 가지를 확인해 본 결과, 기존 버전의 Discourse 백업 파일과 최신 버전 백업 파일의 폴더 구조가 다르다는 것을 발견했습니다. 특히 uploads 폴더의 구조가 달랐습니다.
이러한 이유로 업로드가 불가능하다는 것을 알았고, 해결을 시도해 보았지만 여전히 방법을 찾지 못하고 있습니다.
기존 Discourse 백업 폴더 구조를 새 버전과 동일한 형태로 변경해 보니 백업은 가져오기(import)는 되었습니다. 그러나 백업 진행(restore) 단계에서 실패합니다.
아래 이미지는 백업 실패 시 로그입니다.
해결 방법을 아시는 분이라면 도움을 주시면 감사하겠습니다.
pfaffman
(Jay Pfaffman)
2
왜 그런가요? 어떤 일이 발생하는 건가요? 새로운 Discourse에 이전 백업을 복원할 수 있어야 합니다. 때로는 데이터베이스 문제나 플러그인이 간섭할 수 있습니다.
RGJ
(Richard - Communiteq)
3
그렇지 않은 것 같으니 무언가 문제가 있는 것 같습니다.
보시는 차이에 대해 좀 더 자세히 설명해 주시겠어요?
jin0
(jin0)
4
백업 폴더에서 uploads 폴더를 제거하고 가져오면 업로드와 백업은 정상적으로 이루어지지만, 이미지가 표시되지 않습니다. uploads 폴더를 포함하면 가져오기가 되지 않습니다. 아래 이미지와 같은 오류가 나타납니다.
한국어를 영어로 번역하면 '죄송합니다. 해당 파일을 업로드하는 동안 오류가 발생했습니다. 다시 시도해 주세요.'가 됩니다.
jin0
(jin0)
5
폴더 구조를 살펴보면, 이전 버전에서는 각 이미지 파일별로 별도의 폴더를 생성했습니다. 그러나 최신 버전에서는 모든 이미지가 1X 폴더에 포함되어 있습니다.
왼쪽은 이전 버전의 업로드 폴더 구조입니다.
오른쪽은 최신 버전의 업로드 폴더 구조입니다.
pfaffman
(Jay Pfaffman)
6
명령줄에서 백업 복원하기를 참조해 보세요(명령줄에서 복원하는 방법을 알려줄 것으로 생각합니다). 그러면 전체 오류 메시지를 확인할 수 있습니다.
RGJ
(Richard - Communiteq)
7
이렇게 작은 이미지에서는 보기 어렵습니다. 번호가 매겨진 디렉토리가 존재하는 이유는 포럼이 약 5년 이상 된 시점부터 해당 방식이 사용되었기 때문일 수 있습니다.
하지만 복구가 실패하는 이유는 업로드 디렉터리 때문이 아닙니다. 백업에 데이터베이스 덤프(dump.sql.gz)가 포함되어 있지 않기 때문에 실패하는 것입니다. 업로드 디렉터리 외에 다른 파일이 포함되어 있나요?
jin0
(jin0)
8
uploads 폴더를 제외하고 백업 가져오기를 수행한 후, uploads 폴더를 서버에 직접 삽입하여 문제를 해결했습니다.
답변해 주셔서 감사합니다 