J’ai configuré un nouvel hôte pour avoir un environnement de ‘staging’. J’ai recréé la même installation de Discourse avec ce qui devrait être la même version. J’utilise la version : 2.8.2.
Premier commentaire, à partir de la version 2.8.2, la taille de ma sauvegarde est passée de 282 Mo à environ 90 Mo. Je ne sais pas pourquoi, mais je vais continuer avec une certaine intelligence ajoutée dont je profite.
J’ai téléchargé la dernière archive de mon forum et l’ai téléchargée sur le stockage local du nouvel environnement de staging.
La restauration échoue en raison de :
[2022-02-27 19:41:18] ALTER TABLE
[2022-02-27 19:41:18] ALTER TABLE
[2022-02-27 19:41:18] Migration de la base de données...
[2022-02-27 19:43:00]
[2022-02-27 19:43:00] Reconnexion à la base de données...
[2022-02-27 19:43:00] Rechargement des paramètres du site...
[2022-02-27 19:43:00] Désactivation des e-mails sortants pour les utilisateurs non-staff...
[2022-02-27 19:43:02] Désactivation du mode lecture seule...
[2022-02-27 19:43:02] Nettoyage du cache des catégories...
[2022-02-27 19:43:02] Rechargement des traductions...
[2022-02-27 19:43:02] Remappage des téléchargements...
[2022-02-27 19:43:02] Remappage de 'https://forum.geekbeacon.org' vers 'https://forum-staging.geekbeacon.org'
[2022-02-27 19:43:08] Restauration des téléchargements, cela peut prendre un certain temps...
[2022-02-27 19:43:36] EXCEPTION : 8 messages n'ont pas été remappés vers la nouvelle URL de téléchargement S3. La migration S3 a échoué pour la base de données 'default'.
[2022-02-27 19:43:36] /var/www/discourse/lib/file_store/to_s3_migration.rb:132:in `raise_or_log'
/var/www/discourse/lib/file_store/to_s3_migration.rb:87:in `migration_successful?'
/var/www/discourse/lib/file_store/to_s3_migration.rb:373:in `migrate_to_s3'
/var/www/discourse/lib/file_store/to_s3_migration.rb:66:in `migrate'
/var/www/discourse/lib/file_store/s3_store.rb:317:in `copy_from'
/var/www/discourse/lib/backup_restore/uploads_restorer.rb:62:in `restore_uploads'
/var/www/discourse/lib/backup_restore/uploads_restorer.rb:44:in `restore'
/var/www/discourse/lib/backup_restore/restorer.rb:61:in `run'
/var/www/discourse/script/spawn_backup_restore.rb:23:in `restore'
/var/www/discourse/script/spawn_backup_restore.rb:36:in `block in <main>'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `fork'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `<main>'
[2022-02-27 19:43:36] Tentative de rollback...
[2022-02-27 19:43:36] Rollback en cours...
[2022-02-27 19:43:36] Nettoyage...
[2022-02-27 19:43:36] Suppression des fonctions du schéma discourse_functions...
[2022-02-27 19:43:36] Suppression du répertoire temporaire '/var/www/discourse/tmp/restores/default/2022-02-27-194051'...
[2022-02-27 19:43:36] Réactivation de Sidekiq...
[2022-02-27 19:43:36] Marquage de la restauration comme terminée...
[2022-02-27 19:43:36] Notification à 'csgeek' de la fin de la restauration...
C’est votre problème. Peut-être utiliser le même compartiment S3 et utiliser le même compartiment ? Peut-être vérifier que le paramètre caché appelé quelque chose comme « télécharger S3 dans la sauvegarde » est activé. Vous devrez rechercher ou regarder dans la source le nom du paramètre.
Ou peut-être devez-vous vérifier que le reste de vos téléchargements sur le site de production sont sur S3.
Je n’ai pas de S3 configuré, je suppose que l’ancien serveur a peut-être des données anciennes qui n’ont pas été mappées à un emplacement S3 valide.
Je suis retourné sur l’ancien serveur et j’ai 2 buckets configurés, 1 pour les sauvegardes et 1 pour les médias. J’ai suivi le guide et configuré AWS S3, y compris le CDN.
Lorsque j’exécute rake uploads:migrate_to_s3, qui a échoué, j’ai suivi cela avec un posts:rebake et cela semble avoir réduit le nombre d’erreurs, mais cela échoue toujours :
Veuillez noter que la migration vers S3 n'est actuellement pas réversible !
[CTRL+c] pour annuler, [ENTRÉE] pour continuer
Migration des téléchargements vers S3 pour 'default'...
Téléchargement des fichiers vers S3...
- Listage des fichiers locaux
=> 208 fichiers
- Listage des fichiers S3
. => 978 fichiers
- Synchronisation des fichiers vers S3
................................................................................................................................................................................................................
Mise à jour des URL dans la base de données...
Suppression des anciennes images optimisées...
Marquage de tous les posts contenant des lightboxes pour re-cuisson...
15 posts ont été marqués pour une re-cuisson
rake avorté !
FileStore::ToS3MigrationError: 1 posts ne sont pas remappés à la nouvelle URL de téléchargement S3. La migration S3 a échoué pour la base de données 'default'.
/var/www/discourse/lib/file_store/to_s3_migration.rb:132:in `raise_or_log'
/var/www/discourse/lib/file_store/to_s3_migration.rb:87:in `migration_successful?'
/var/www/discourse/lib/file_store/to_s3_migration.rb:373:in `migrate_to_s3'
/var/www/discourse/lib/file_store/to_s3_migration.rb:66:in `migrate'
/var/www/discourse/lib/tasks/uploads.rake:123:in `migrate_to_s3'
/var/www/discourse/lib/tasks/uploads.rake:102:in `block in migrate_to_s3_all_sites'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.0/lib/rails_multisite/connection_management.rb:80:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.0/lib/rails_multisite/connection_management.rb:90:in `each_connection'
/var/www/discourse/lib/tasks/uploads.rake:100:in `migrate_to_s3_all_sites'
/var/www/discourse/lib/tasks/uploads.rake:96:in `block in <main>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tâches : TOP => uploads:migrate_to_s3
(Voir la trace complète en exécutant la tâche avec --trace)
Y a-t-il un moyen d’exécuter migrate_to_s3 en mode verbeux pour identifier le post fautif ?