J’ai essayé de migrer mon instance Discourse vers un nouveau serveur, mais la restauration via l’interface utilisateur et la CLI a échoué pendant l’opération de restauration. Cela est lié à la migration S3.
J’avais également activé ces paramètres dans la console Rails :
Le journal pertinent de l’échec était le suivant :
Remapping '//thinnal.s3.dualstack.us-east-1.amazonaws.com/' to '/uploads/default/'
incoming_emails=2
optimized_images=3851
post_revisions=86
posts=618
stylesheet_cache=10
topic_links=107
topics=150
uploads=419
user_histories=20
Migrating uploads to S3...
Checking if default already migrated...
1971 of 1977 uploads are not migrated to S3. S3 migration failed for db 'default'.
266 posts are not remapped to new S3 upload URL. S3 migration failed for db 'default'.
Looking for missing uploads on: default
0 post uploads are missing.
No posts require rebaking
Migrating uploads to S3 for 'default'...
Some uploads were not migrated to the new scheme. Please run these commands in the rails console
SiteSetting.migrate_to_new_scheme = true
Jobs::MigrateUploadScheme.new.execute(nil)
Restore process was cancelled!
Trying to rollback...
Rolling back...
Cleaning stuff up...
Dropping function from the discourse_functions schema
Removing tmp '/var/www/discourse/tmp/restores/default/2019-09-02-140750' directory...
Unpausing sidekiq...
Marking restore as finished...
Notifying 'system' of the end of the restore...
Finished!
[FAILED]
Restore done.
C’est un problème connu. En attendant, vous pouvez désactiver temporairement le paramètre de site enable_s3_uploadsavant de créer la sauvegarde. Vous pourrez le réactiver sur le nouveau serveur après la restauration.
J’ai ouvert dump.sql avec le programme EmEditor et recherché enable_s3_uploads, S3, et j’ai remplacé tous les « t » par « f » et tous les « true » par « false ».
Eh bien, dans ce cas, vous devrez vous salir les mains. Désolé pour ça. Je prévois de commencer à refactoriser et à améliorer les sauvegardes et restaurations la semaine prochaine, mais cela peut prendre un certain temps avant que tout soit de nouveau parfait.
C’est formidable ! J’allais justement suggérer exactement ces étapes.
Pour ceux qui liront ceci dans le futur : si vous devez éditer le fichier dump.sql (qui peut être assez volumineux), je recommande Scintilla and SciTE comme éditeur. Il gère ces fichiers volumineux sans problème.