Restauro del backup fallisce con ECCEZIONE: ERRORE: valore troppo lungo per il tipo character varying(1000)

Stiamo utilizzando Discourse v3.2.5.

Questo funzionava prima, tuttavia, recentemente abbiamo iniziato a riscontrare problemi. Il ripristino dal backup fallisce con l’eccezione EXCEPTION: ERROR: value too long for type character varying(1000) durante il tentativo di rimappare i caricamenti.

[2025-03-18 21:03:24] Riconnessione al database…

[2025-03-18 21:03:24] Ricaricamento delle impostazioni del sito…

[2025-03-18 21:03:24] Disabilitazione delle email in uscita per gli utenti non staff…

[2025-03-18 21:03:25] Disabilitazione della modalità di sola lettura…

[2025-03-18 21:03:25] Pulizia della cache delle categorie…

[2025-03-18 21:03:25] Ricaricamento delle traduzioni…

[2025-03-18 21:03:25] Rimappatura dei caricamenti…

[2025-03-18 21:03:27] Rimappatura con regex da ‘//s3-bucket-name.s3.amazonaws.com/uploads/’ a ‘/uploads/default/’
[2025-03-18 21:03:35] Ripristino dei caricamenti, potrebbe richiedere del tempo…
[2025-03-18 21:03:37] EXCEPTION: ERROR: value too long for type character varying(1000)

Sono riuscito a risolvere il problema modificando il character varying per la colonna origin nella tabella uploads in dump.sql prima del ripristino. Tuttavia, vorrei sapere come funzionava in precedenza e perché ora fallisce senza alcuna modifica al database o all’applicazione. Vediamo lo stesso errore in 3.2.1 e 3.2.5.

Ho scoperto che l’origine dei caricamenti include i metadati di Amazon che includono il token di sicurezza ogni volta che l’oggetto viene accessibile. e quindi la lunghezza supera 1000. C’è un motivo per cui i metadati sono inclusi nell’origine e vengono aggiornati ogni volta che il file viene accessibile?? Possiamo rimuovere i metadati dall’URL di origine? o possiamo aggiornare il vincolo di character varying da 1000 a 2000?

1 Mi Piace