Il ripristino fallisce quando include gli upload S3

Sto usando S3 con successo sia per il caricamento di file che per i backup. Ma il ripristino riesce solo se escludo i caricamenti dal backup tramite “Sì (non includere caricamenti)”. Se scelgo semplicemente Sì durante il backup e includo i caricamenti, ricevo un errore nel log:

ECCEZIONE: Alcuni caricamenti non hanno potuto essere migrati al nuovo schema. È necessario correggerli manualmente.
[2022-08-18 20:57:23] /var/www/discourse/lib/file_store/to_s3_migration.rb:156:in `migrate_to_s3’

Vorrei che i backup fossero interamente autonomi e includessero i caricamenti in modo da poter ripristinare tutto da un backup nel caso in cui dovessi migrare tutto su un altro account AWS, in caso di un imprevisto disastro o un evento simile in futuro.

@serios Sei riuscito a risolvere questo problema? Sto riscontrando lo stesso problema nel mio ambiente.

È difficile. Il problema è che alcune immagini si trovano in un altro bucket con un percorso diverso e ciò causa il fallimento del test, quindi è necessario trovare tali caricamenti e inserirli nel bucket corretto.

Sì… Stiamo lavorando per migrare Discourse in un ambiente diverso… che include la migrazione dell’app su un host diverso e anche la migrazione dei caricamenti su un bucket S3 diverso. Siamo stati in grado di configurare l’app e abilitare i caricamenti S3 sul nuovo bucket. Tutti i nuovi post e caricamenti funzionano bene. Stiamo cercando di ripristinare il backup dal vecchio host sul nuovo host ed è in quel momento che stiamo riscontrando questo errore. Ci stiamo lottando da 2 settimane. Vedo che la raccomandazione è di disabilitare i caricamenti S3, ripristinare e poi abilitare i caricamenti S3.

Sono pronto a farlo, volevo solo assicurarmi che se disabilito S3, ripristino e abilito S3, tutti i caricamenti ripristinati verranno automaticamente inviati al nuovo S3 o dovremmo eseguire l’attività di migrazione S3?

Se abiliti le nuove impostazioni S3 prima del ripristino, queste dovrebbero essere inviate al nuovo bucket al momento del ripristino.