Cela ressemble au problème mentionné dans Can't restore a backup if it includes link to Discourse onebox ![]()
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 :
- 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
- Avant que les téléchargements ne soient restaurés. Vous aurez accès à la table
uploadsnon 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}%'")