Das klingt nach dem Problem, das in Can't restore a backup if it includes link to Discourse onebox erwähnt wird ![]()
Sie sollten dies während der Wiederherstellung beheben können, müssen dies jedoch über die Shell tun.
cd /var/discourse
./launcher enter app
# starten Sie die Wiederherstellung mit dem Argument --pause
discourse restore --pause <backup_filename>
Es wird den Wiederherstellungsprozess an zwei Stellen anhalten:
- Bevor DB-Migrationen ausgeführt werden – Sie können das ignorieren; drücken Sie eine Taste, um fortzufahren
- Bevor Uploads wiederhergestellt werden. Sie haben Zugriff auf die unveränderte
uploads-Tabelle (es wurden noch keine Remaps ausgeführt), was es Ihnen ermöglicht, Uploads zu reparieren, bevor der Wiederherstellungsprozess aufgrund dieser fehlschlägt.
Öffnen Sie nun eine weitere SSH-Sitzung zu Ihrem Server und starten Sie eine Rails-Konsole:
cd /var/discourse
./launcher enter app
rails c
Sie müssen herausfinden, welcher Post die Wiederherstellung fehlschlagen lässt. Wenn Sie Glück haben, finden Sie ihn, indem Sie Folgendes in der Rails-Konsole ausführen:
current_db = RailsMultisite::ConnectionManagement.current_db
cdn_path = SiteSetting.cdn_path("/uploads/#{current_db}/original").sub(/https?:/, "")
Post.where("cooked LIKE '%#{cdn_path}%'")