Discourse에 백업 복원 시 발생하는 문제

이것은 Can't restore a backup if it includes link to Discourse onebox 에서 언급된 문제처럼 보입니다. :anxious_face_with_sweat:

복원 과정에서 이를 수정할 수 있지만, 셸(shell)에서 작업을 수행해야 합니다.

cd /var/discourse
./launcher enter app

# --pause 인수를 사용하여 복원을 시작합니다
discourse restore --pause <backup_filename>

복원 프로세스는 두 지점에서 일시 중단됩니다:

  1. DB 마이그레이션 실행 전 – 무시해도 됩니다. 키를 눌러 계속 진행하세요.
  2. 업로드(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}%'")