Problèmes lors de la restauration d'une sauvegarde sur Discourse

Cela ressemble au problème mentionné dans Can't restore a backup if it includes link to Discourse onebox :anxious_face_with_sweat:
Vous devriez pouvoir résoudre ce problème pendant la restauration, mais vous devez le faire via le shell.

cd /var/discourse
./launcher enter app

# démarrez la restauration avec l'argument --pause 
discourse restore --pause <backup_filename>

Cela mettra en pause le processus de restauration à deux moments :

  1. Avant que les migrations de la base de données ne soient exécutées – vous pouvez ignorer cela ; appuyez sur une touche pour continuer
  2. Avant que les téléchargements ne soient restaurés. Vous aurez accès à la table uploads non modifiée (aucun remappage n’a encore été effectué), ce qui vous permettra de corriger les téléchargements avant que le processus de restauration n’échoue à cause d’eux.

Maintenant, ouvrez une autre session SSH sur votre serveur et démarrez une console Rails :

cd /var/discourse
./launcher enter app

rails c

Vous devrez déterminer quel Post provoque l’échec de la restauration. Si vous avez de la chance, vous le trouverez en exécutant ce qui suit dans la console Rails :

current_db = RailsMultisite::ConnectionManagement.current_db
cdn_path = SiteSetting.cdn_path("/uploads/#{current_db}/original").sub(/https?:/, "")
Post.where("cooked LIKE '%#{cdn_path}%'")
7 « J'aime »