Recientemente configuré un servidor de Discourse, después de pasar un tiempo en una prueba (trydiscourse.com). Cuando lo configuré, descargué una copia de seguridad de los datos de nuestra prueba desde trydiscourse.com y pude restaurar esos datos en nuestro Discourse autoalojado.
Aproximadamente una semana después, cuando la prueba estaba terminando, descargué otra copia de seguridad de trydiscourse.com e intenté restaurarla. Esta vez, la restauración falló. Aquí están los registros:
[2022-03-05 01:31:08] [STARTED]
[2022-03-05 01:31:08] 'Joaquin' ha iniciado la restauración.
[2022-03-05 01:31:08] Marcando la restauración como en ejecución...
[2022-03-05 01:31:08] Asegurándose de que /var/www/discourse/tmp/restores/default/2022-03-05-013108 existe...
[2022-03-05 01:31:08] Copiando archivo a directorio temporal...
[2022-03-05 01:31:08] Descomprimiendo archivo, esto puede tardar un poco...
[2022-03-05 01:31:08] Extrayendo archivo de volcado...
[2022-03-05 01:31:08] Validando metadatos...
[2022-03-05 01:31:08] Versión actual: 20220220234155
[2022-03-05 01:31:08] Versión restaurada: 20220223161000
[2022-03-05 01:31:08] EXCEPCIÓN: Estás intentando restaurar una versión más reciente del esquema. ¡Deberías migrar primero!
[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] Intentando revertir...
[2022-03-05 01:31:08] No fue necesario revertir
[2022-03-05 01:31:08] Limpiando...
[2022-03-05 01:31:08] Eliminando el directorio temporal '/var/www/discourse/tmp/restores/default/2022-03-05-013108'...
[2022-03-05 01:31:08] Marcando la restauración como finalizada...
[2022-03-05 01:31:08] Notificando a 'Joaquin' el fin de la restauración...
Por lo que he podido investigar, el “esquema” que la excepción dice que debería “migrar primero” tiene algo que ver con la base de datos que utiliza Discourse.
He buscado en Discourse Meta y no he visto a nadie hablando de esto. También actualicé Discourse a la última versión y volví a intentar restaurar, pero obtuve el mismo resultado. He investigado en los archivos de Discourse para ver si había alguna herramienta relevante que pudiera ayudar, pero no vi nada que pareciera prometedor.
Mi mejor suposición en este momento es que durante esa semana después de configurar nuestro Discourse autoalojado, algo se cambió en nuestro foro de prueba en trydiscourse.com.
Mis preguntas son:
- ¿Cómo puedo hacer la migración que sugiere el error?
- ¿Qué causó exactamente este fallo de restauración? ¿Es algo que podría ocurrir normalmente (no durante una transición de prueba a autoalojado)?
¡Gracias de antemano por cualquier ayuda con esto! ![]()