Discourse 인스턴스를 한 서버에서 다른 서버로 마이그레이션하던 중 흥미로운 문제를 마주쳤습니다.
우리는 포럼의 업로드 파일을 S3에 저장하고 있습니다. 몇 년 전에 이 기능을 활성화했기 때문에, 이번 마이그레이션에서 새로 도입한 것이 아닙니다.
다른 문제 몇 가지를 수정한 후, 백업 가져오기를 성공적으로 수행할 수 있었습니다. 하지만 S3 관련 단계에서 다음과 같은 오류가 발생했습니다:
Updating the URLs in the database...
Removing old optimized images...
Flagging all posts containing lightboxes for rebake...
72038 posts were flagged for a rebake
EXCEPTION: 257 posts are not remapped to new S3 upload URL. S3 migration failed for db 'default'.
표면적으로, 해당 체크는 cooked 필드에 /uploads/default/original을 포함하는 모든 게시글을 검색하고 있지만, 이것이 반드시 합법적인 자산이 아닐 수도 있습니다. 이 경우 /uploads/default/original은 "일반 텍스트"로 사용되었기 때문에 마이그레이션 작업에서 놓치지 않았습니다.
제 상황에 대한 업데이트… 저의 경우 S3로 스토리지를 전환했음에도 불구하고 /var/discourse/shared/standalone/uploads 디렉토리에 여전히 파일들이 남아 있었습니다. 해당 업로드 디렉터리 안의 ‘default’ 디렉토리를 삭제한 후 백업을 다시 생성하자, 데이터베이스만 포함된 백업(…sql.gz)이 성공적으로 생성되었습니다.
어떤 이유인지(제 경우에는) 해당 디렉토리에 파일이 존재하면 업로드를 백업에 포함하지 않겠다는 설정을 무시하고, 어쨌든 업로드 파일을 백업에 포함시켜 생성합니다.
제 상황에 대해 더 많은 정보나 설명이 필요하시면 말씀해 주세요. 원 포스터(OP)의 상황과는 약간 다른 것 같습니다.