이것은 Can't restore a backup if it includes link to Discourse onebox 에서 언급된 문제처럼 보입니다. ![]()
복원 과정에서 이를 수정할 수 있지만, 셸(shell)에서 작업을 수행해야 합니다.
cd /var/discourse
./launcher enter app
# --pause 인수를 사용하여 복원을 시작합니다
discourse restore --pause <backup_filename>
복원 프로세스는 두 지점에서 일시 중단됩니다:
- DB 마이그레이션 실행 전 – 무시해도 됩니다. 키를 눌러 계속 진행하세요.
- 업로드(Uploads) 복원 전. 아직 리맵(remaps)이 실행되지 않은 수정되지 않은
uploads테이블에 접근할 수 있어, 복원 프로세스가 업로드 문제로 중단되기 전에 업로드를 수정할 수 있습니다.
이제 서버에 다른 SSH 세션을 열고 rails 콘솔을 시작하세요:
cd /var/discourse
./launcher enter app
rails c
복원이 실패하는 원인이 되는 Post를 찾아야 합니다. 운이 좋으면 rails 콘솔에서 다음을 실행하여 찾을 수 있습니다:
current_db = RailsMultisite::ConnectionManagement.current_db
cdn_path = SiteSetting.cdn_path("/uploads/#{current_db}/original").sub(/https?:/, "")
Post.where("cooked LIKE '%#{cdn_path}%'")