Se hai bisogno di aiuto per individuare la causa principale di problemi come questo, fammelo sapere. Sarò felice di aiutarti.
Quindi, ho provato a ripristinare il mio backup da 2,2 GB e ho ottenuto questo errore: il ripristino è fallito:
ECCEZIONE: 44 post non sono stati rimappati al nuovo URL di caricamento S3. La migrazione S3 è fallita per il database ‘default’.
Sto utilizzando la versione 2.6b6, quindi abbastanza recente. Il sito è piuttosto vecchio, del 2016.
Di tanto in tanto ci imbattiamo in backup in cui la rimappatura automatica e la migrazione verso S3 falliscono per vari motivi.
Questo è un argomento vecchio, quindi ci sono raccomandazioni per un’azione correttiva? Avere un backup che non posso effettivamente utilizzare per il ripristino mi rende un po’ nervoso.
Modifica: Mi sono appena reso conto che potrei essere nel thread sbagliato, poiché sembra trattarsi dello stesso problema
Ho riprovato e continuo a fallire con il ripristino, ottenendo l’errore 44 posts are not remapped.
La disabilitazione temporanea dei caricamenti S3 prima del backup (proposta da @RGJ) non risolve il problema, e attualmente non ho uno schema di backup funzionante, il che è piuttosto grave.
Hai qualche suggerimento su cosa provare?
Ok, questo è il caso più strano che abbia mai visto finora. Mi sono imbattuto in questo post.
https://meta.discourse.org/t/using-object-storage-for-uploads-s3-clones/148916/160?u=ljpp
Dopo aver perso ore su questo, ho definito DISCOURSE_CDN_URL solo per provare, una funzione che il mio sito non utilizza. Il backup è stato ripristinato con successo.
Qual è il significato di questo parametro, in questo scenario? @Falco @pfaffman
AGGIORNAMENTO:
Mi correggo. Dopo il successo del test, ho creato un nuovo backup dalla produzione e ho ricominciato a migrare verso un nuovo server. È fallito di nuovo, ma il messaggio di errore è cambiato.
ECCEZIONE: rake posts:missing_uploads ha individuato 3 problemi. La migrazione S3 è fallita per il database ‘default’.
AGGIORNAMENTO 2:
Quindi ho continuato a scavare nel database e ho trovato questi 3 post.
- 2 erano immagini molto vecchie, pubblicate inizialmente ma poi sostituite da un moderatore con una versione modificata. Erano del 2016 e del 2018.
- Ma l’ultimo era strano. Era un post molto recente, di un paio di settimane fa, scritto da me, e conteneva un link https oneboxed a un server di sviluppo che non esiste più. Quindi un link rotto blocca il processo di ripristino.
Ho semplicemente cancellato manualmente questi post.
Ora, di nuovo, una prova di esecuzione mostra che un backup potrebbe effettivamente avere successo. Vedremo.
@ljpp Sembra che mi trovi in una situazione simile con un ripristino che fallisce con
ECCEZIONE: 1 post non è stato mappato al nuovo URL di caricamento S3. La migrazione S3 è fallita per il db ‘default’.
Puoi spiegare meglio come hai individuato ed eliminato i post problematici? Quali comandi sono stati utilizzati?
Ha eliminato i post in questione.
Ma hai reinstallato il sistema, quindi non puoi farlo, vero?
Ho questo problema nel ripristinare il mio db. Come hai trovato i post problematici?
Penso che il codice che esegue il controllo sia qui:
Quindi penso questo:
prefix = @migrate_to_multisite ? "uploads/#{@current_db}/original/" : "original/"
base_url = File.join(SiteSetting.Upload.s3_base_url, prefix)
bad = Upload.by_users.where("url NOT LIKE '#{base_url}%'")
E per sicurezza
good = Upload.by_users.where("url LIKE '#{base_url}%'")
Fammi sapere se funziona per te e vedrò di creare un topic.
discourse(prod)> prefix = @migrate_to_multisite ? “uploads/#{RailsMultisite::ConnectionManagement.current_db}/original/” : “original/”
discourse(prod)> base_url = File.join(SiteSetting.Upload.s3_base_url, prefix)
discourse(prod)> bad_uploads = Upload.by_users.where(“url NOT LIKE ‘#{base_url}%’”)
discourse(prod)> bad_uploads.count
=> 0
Questo controllo mi ha dato 0 errori
L’hai fatto sul server originale? O devi farlo dopo che il database è stato ripristinato prima che esegua quel controllo, usando l’opzione --pause?
L’ho fatto sul vecchio server.
Ripristinando ho ottenuto lo stesso errore
[2026-01-16 13:45:52] EXCEPTION: 3 post non sono stati rimappati al nuovo URL di caricamento S3. La migrazione S3 è fallita per il db ‘default’.
[2026-01-16 13:45:52] /var/www/discourse/lib/file_store/to_s3_migration.rb:132:in `raise_or_log’
Beh. Dannazione. Non so cos’altro dirti.
Il comando good ha trovato i tuoi upload?
Probabilmente userei l’opzione --pause e interromperei il ripristino prima che esegua quel controllo.
Farei quello che ha detto Richard.
Non sono sicuro della tua situazione esatta, ma potresti semplicemente voler disattivare i caricamenti s3, eseguire il backup, ripristinare e riattivare. Questo mi ha salvato molte volte.
Quindi, devo disattivare queste opzioni, giusto?

Corretto.
- deseleziona “abilita caricamenti s3”
- backup / download
- upload / ripristino
- seleziona “abilita caricamenti s3”
Non parlo italiano quando non si tratta di cibo… forse puoi farci tutti un favore e copiarlo e incollarlo in Google Traduttore ![]()
Scusa
Abilita caricamenti S3
Memorizza i caricamenti nello spazio su disco di Amazon S3. IMPORTANTE: richiede la fornitura di credenziali S3 valide (sia l’ID chiave di accesso che la chiave segreta di accesso).
Non è possibile abilitare i caricamenti S3 perché sono già abilitati a livello globale e l’abilitazione dei caricamenti S3 a livello di sito potrebbe causare problemi critici con i caricamenti.
Presumo che tu l’abbia già fatto in app.yml.
I (nuovi) caricamenti funzionano correttamente? In tal caso, non c’è alcun problema.
In app.yml ho configurato s3, corretto.
Quindi, cosa devo fare per eseguire il backup e il ripristino in sicurezza senza controllare i caricamenti?
Semplicemente deselezionare “abilita caricamenti s3” non funziona
