Échec de la restauration : « Certains téléchargements n'ont pas pu être migrés vers le nouveau schéma »

Je tente depuis quelques jours d’effectuer des restaurations d’un serveur vers un autre. Le serveur original a été démarré en 2016 et présente donc certains problèmes liés à l’héritage technique. J’ai commencé à traiter ce problème lorsqu’un ancien certificat a expiré, puis je me suis retrouvé bloqué par une série de problèmes durant le cycle de sauvegarde/restauration.

Le serveur original et le nouveau serveur sont tous deux verrouillés sur la version 2.5, branche stable. J’ai également désactivé certains des plugins inclus, car certains posts ont évoqué des problèmes liés à ces plugins, et simplement pour isoler d’éventuels problèmes.

Auparavant, je rencontrais des problèmes avec la base de données ; j’ai suivi plusieurs des suggestions dans ce post et réussi à résoudre les problèmes problématiques.

Cependant, je rencontre maintenant un problème avec S3 lors de la sauvegarde. Voici l’exception qui provoque l’échec de la restauration :

[2020-07-07 17:01:29] Restauration des fichiers joints, cela peut prendre un certain temps...
[2020-07-07 17:01:29] EXCEPTION : Certains fichiers joints n'ont pas pu être migrés vers le nouveau schéma. Vous devez corriger cela manuellement.
[2020-07-07 17:01:29] /var/www/discourse/lib/file_store/to_s3_migration.rb:155:in `migrate_to_s3'

Ensuite, le processus entre dans un cycle de retour arrière et je reçois finalement un message indiquant que la restauration a échoué.

J’ai consulté les posts suivants :

Je n’ai pas encore eu beaucoup de succès.

La plupart de mes images sont déjà sur S3. Je pense que le problème vient des quelques images restantes qui se trouvent toujours sur le disque. Je peux parcourir et voir quelques dossiers (par exemple 01, 02, 03, etc.), avec une image étrange ici ou là. J’ai vu cette note indiquant que cela a été corrigé dans la version 2.6.1, alors j’ai même essayé de mettre à jour le nouveau serveur vers cette version pour bénéficier de la correction, mais sans succès.

J’ai donc deux questions précises :

  1. Que dois-je faire exactement pour le message d’erreur « Vous devez corriger cela manuellement » ? Existe-t-il un processus que je ne connais pas ?
  2. Est-il possible que je cherche le mauvais problème ici ? Autrement dit, est-il plausible que l’avis EXCEPTION soit réellement à l’origine de l’échec de la restauration ?

Donc. Je suis toujours bloqué là-dessus. J’ai réussi à remettre mon ancien serveur en marche en bidouillant un peu pour le placer derrière un serveur nginx et obtenir le certificat ainsi (il y a un autre site qui tourne sur le même domaine).

Mais je voudrais quand même migrer. J’ai aussi peur de ne pas pouvoir effectuer une restauration sur le serveur, au cas où quelque chose tournerait mal.

S’il y a d’autres éléments d’information que je peux fournir, n’hésitez pas à me le dire !

Avez-vous essayé de désactiver les uploads S3 avant de créer la sauvegarde ?
Désactiver simplement S3 sans refaire de backup ne devrait causer aucun dommage. Ensuite, restaurez et réactivez S3.

Oui, ça a fonctionné ! Wow ! C’était une solution beaucoup plus simple que je ne l’aurais imaginé.