Devo ordinare in qualche modo gli allegati da XenForo o basta copiare/incollare la struttura e la cartella /tmp/attachments?
Attualmente sto eseguendo l’installazione su una nuova VM con uno snapshot, così posso modificare rapidamente i dettagli e ricominciare con la migrazione.
Ieri ho spostato la cartella degli allegati da XenForo, che ha una struttura con una cartella principale denominata “attachments” e all’interno 9 sottocartelle numerate da 0 a 9, ciascuna contenente circa 600-700 allegati (.jpg). Ho posizionato la cartella in var/discourse/shared/standalone/tmp/attachments e modificato lo script xenforo.rb impostando:
ATTACHMENT_DIR = '/shared/tmp/attachments'
Ho testato con il comando “ls /tmp/attachments” e ho ottenuto la struttura corretta, ma incontro lo stesso errore della prima volta:
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
Ho rimosso il ! dalla stringa gsub! in questa posizione:
/usr/local/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/core_ext/string/filters.rb
Ora lo script di importazione non si ferma più, continua ed esegue mostrando queste informazioni sugli allegati:
Comunque, ad esempio, l’ultima riga:
Could not find file /shared/tmp/attachments//2/2485-c3da9f6ee1e33d3ebf418c5dea1f9e8a.data. Skipping attachment id 2485
…il file È effettivamente in quel percorso, ma non c’è il file .data. Al posto di .data c’è .JPG.
Qualsiasi aiuto è benvenuto.
2019-11-15T23:00:00Z
Lo script aveva un bug: l’ho individuato e risolto. Ora riesco a importare gli allegati.