Muss ich die Anhänge von Xenforo in einer bestimmten Reihenfolge sortieren oder einfach nur die Struktur und /tmp/attachments kopieren/einfügen?
Ich führe derzeit die Installation auf einer neuen VM mit einem Snapshot durch, damit ich die Details schnell ändern und mit der Migration von vorne beginnen kann.
Gestern habe ich den Anhang-Ordner von Xenforo, der eine Struktur wie folgt hat: einen Hauptordner mit dem Namen „attachments" und darin 9 Unterordner mit den Namen von 0 bis 9. In jedem dieser Ordner befinden sich etwa 600–700 Anhänge (.jpg). Ich habe den Ordner in var/discourse/shared/standalone/tmp/attachments gelegt und das Skript xenforo.rb angepasst, indem ich folgendes eingefügt habe:
ATTACHMENT_DIR = '/shared/tmp/attachments'
Ich habe es mit „ls /tmp/attachments" getestet und die richtige Struktur erhalten, aber ich stoße auf denselben Fehler wie beim ersten Mal:
creating topics and posts
74 / 74752 ( 0.1%) [99817 items/min] Traceback (most recent call last):
18: from script/import_scripts/xenforo.rb:396:in \u003cmain\u003e' 17: from /var/www/discourse/script/import_scripts/base.rb:47:in perform’
16: from script/import_scripts/xenforo.rb:32:in execute' 15: from script/import_scripts/xenforo.rb:174:in import_posts’
14: from /var/www/discourse/script/import_scripts/base.rb:869:in batches' 13: from /var/www/discourse/script/import_scripts/base.rb:869:in loop’
12: from /var/www/discourse/script/import_scripts/base.rb:870:in block in batches' 11: from script/import_scripts/xenforo.rb:180:in block in import_posts’
10: from /var/www/discourse/script/import_scripts/base.rb:490:in create_posts' 9: from /var/www/discourse/script/import_scripts/base.rb:490:in each’
8: from /var/www/discourse/script/import_scripts/base.rb:491:in block in create_posts' 7: from script/import_scripts/xenforo.rb:186:in block (2 levels) in import_posts’
6: from script/import_scripts/xenforo.rb:315:in process_xenforo_post' 5: from script/import_scripts/xenforo.rb:324:in process_xf_attachments’
4: from /usr/local/lib/ruby/2.6.0/set.rb:338:in each' 3: from /usr/local/lib/ruby/2.6.0/set.rb:338:in each_key’
2: from script/import_scripts/xenforo.rb:326:in block in process_xf_attachments' 1: from /usr/local/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/core_ext/string/filters.rb:22:in squish!’
/usr/local/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/core_ext/string/filters.rb:22:in gsub!': can't modify frozen String (FrozenError) root@my-app:/var/www/discourse#Preformatted text`
2019-11-15T23:00:00Z
Ich habe das ! aus der gsub!-Zeile an folgender Stelle entfernt:
/usr/local/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/core_ext/string/filters.rb
Jetzt stoppt das Import-Skript nicht mehr, sondern setzt fort und zeigt diese Informationen über die Anhänge an:
Wie auch immer, zum Beispiel der letzte Eintrag:
Could not find file /shared/tmp/attachments//2/2485-c3da9f6ee1e33d3ebf418c5dea1f9e8a.data. Skipping attachment id 2485
…die Datei befindet sich tatsächlich an diesem Pfad, aber es gibt keine .data. Stattdessen liegt dort eine .JPG.
Jede Hilfe ist willkommen.
2019-11-15T23:00:00Z
Das Skript hatte einen Fehler, den ich gefunden und behoben habe. Jetzt kann ich die Anhänge erfolgreich importieren.