Esto suena como el problema mencionado en Can't restore a backup if it includes link to Discourse onebox :ansioso:
Deberías poder solucionar esto durante la restauración, pero necesitas hacerlo en la shell.
cd /var/discourse
./launcher enter app
# Inicia la restauración con el argumento --pause
discourse restore --pause <nombre_archivo_backup>
Pausará el proceso de restauración en dos puntos:
- Antes de que se ejecuten las migraciones de la base de datos; puedes ignorarlo; presiona una tecla para continuar
- Antes de que se restauren las cargas. Tendrás acceso a la tabla
uploadssin modificar (aún no se han realizado reasignaciones), lo que te permitirá corregir las cargas antes de que el proceso de restauración se aborte debido a ellas.
Ahora, abre otra sesión SSH en tu servidor e inicia una consola de Rails:
cd /var/discourse
./launcher enter app
rails c
Necesitarás averiguar qué Post está causando que la restauración falle. Si tienes suerte, lo encontrarás ejecutando lo siguiente en la consola de Rails:
current_db = RailsMultisite::ConnectionManagement.current_db
cdn_path = SiteSetting.cdn_path("/uploads/#{current_db}/original").sub(/https?:/, "")
Post.where("cooked LIKE '%#{cdn_path}%'")