Ho recentemente configurato un server Discourse, dopo aver trascorso del tempo in una prova (trydiscourse.com). Quando l’ho configurato, ho scaricato un backup dei dati dalla nostra prova da trydiscourse.com e sono stato in grado di ripristinare quei dati sul mio Discourse self-hosted.
Circa una settimana dopo, quando la prova stava per scadere, ho scaricato un altro backup da trydiscourse.com e ho provato a ripristinarlo. Questa volta, il ripristino è fallito. Ecco i log:
[2022-03-05 01:31:08] [STARTED]
[2022-03-05 01:31:08] 'Joaquin' ha avviato il ripristino!
[2022-03-05 01:31:08] Segnalazione del ripristino come in esecuzione...
[2022-03-05 01:31:08] Assicurarsi che /var/www/discourse/tmp/restores/default/2022-03-05-013108 esista...
[2022-03-05 01:31:08] Copia dell'archivio nella directory tmp...
[2022-03-05 01:31:08] Decompressione dell'archivio, potrebbe richiedere del tempo...
[2022-03-05 01:31:08] Estrazione del file di dump...
[2022-03-05 01:31:08] Validazione dei metadati...
[2022-03-05 01:31:08] Versione corrente: 20220220234155
[2022-03-05 01:31:08] Versione ripristinata: 20220223161000
[2022-03-05 01:31:08] EXCEPTION: Stai cercando di ripristinare una versione più recente dello schema. Dovresti prima eseguire la migrazione!
[2022-03-05 01:31:08] /var/www/discourse/lib/backup_restore/meta_data_handler.rb:31:in `validate'
/var/www/discourse/lib/backup_restore/restorer.rb:112:in `validate_backup_metadata'
/var/www/discourse/lib/backup_restore/restorer.rb:43: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-03-05 01:31:08] Tentativo di rollback...
[2022-03-05 01:31:08] Non c'è stato bisogno di rollback
[2022-03-05 01:31:08] Pulizia...
[2022-03-05 01:31:08] Rimozione della directory tmp '/var/www/discourse/tmp/restores/default/2022-03-05-013108'...
[2022-03-05 01:31:08] Segnalazione del ripristino come terminato...
[2022-03-05 01:31:08] Notifica a 'Joaquin' della fine del ripristino...
Da quello che ho capito finora dalla mia ricerca, lo “schema” che l’eccezione dice che dovrei “migrare prima!” ha a che fare con il database che usa Discourse.
Ho cercato su Discourse Meta e non ho visto nessuno parlare di questo. Ho anche aggiornato Discourse all’ultima versione e poi ho provato a ripristinare di nuovo, ma ho ottenuto lo stesso risultato. Ho esaminato i file di Discourse per vedere se c’era uno strumento pertinente che potesse aiutare, ma non ho visto nulla di promettente.
La mia migliore ipotesi al momento è che durante quella settimana dopo aver configurato il mio Discourse self-hosted, qualcosa sia stato modificato nel nostro forum di prova su trydiscourse.com.
Le mie domande sono:
- Come posso eseguire la migrazione che l’errore suggerisce?
- Cosa ha causato esattamente questo fallimento del ripristino? È qualcosa che potrebbe accadere normalmente (non durante una transizione da prova a self-hosted)?
Grazie in anticipo per qualsiasi assistenza! ![]()