Ciao. Abbiamo appena migrato da Discourse EC2 a Discourse ECS (servizio container). Quando eravamo su EC2, S3 Uploads non era ancora configurato. Prima della migrazione, abbiamo copiato tutte le immagini da EC2 al bucket S3 (con accesso pubblico). Tuttavia, dopo aver eseguito la migrazione con S3 Uploads abilitato (ancora senza CDN), abbiamo notato che le immagini (e gli avatar) non venivano caricate affatto.
Volevo solo chiedere: questo comando va eseguito solo su EC2? Esiste un altro modo per migrare i file caricati o aggiornare gli URL delle immagini? Attualmente l’istanza EC2 è arrestata e l’attuale configurazione ECS utilizza già il dominio, il database e la cache, quindi non sono sicuro che sia possibile reindirizzare dominio, database e cache all’EC2 precedente (per poi ricostruire) senza tempi di inattività . Grazie.
Volete eseguire il comando su un’istanza che abbia accesso alle immagini. Oh, ma se le avete spostate manualmente su S3, allora potrebbe essere necessario intervenire direttamente sulla tabella uploads.
Se dovessi fatturarvi un tariffa fissa per il lavoro, probabilmente chiederei 4 ore, anche se, se pagaste a ore, potrebbe bastarne solo una.
Oh! Scusate, me ne sono appena accorto. Se l’EC2 utilizza lo stesso database, allora potreste riuscire a riavviarlo (lasciando l’ECS invariato) ed eseguire lì il task migrate-to-s3; prima dovrete inserire tutte le variabili relative a S3 nelle variabili d’ambiente, come descritto in Utilizzo dello storage oggetti per gli upload (S3 e cloni). Questa è probabilmente la soluzione più semplice. Vi consiglio di eseguire un backup solo del database prima di iniziare.