¿Necesito ordenar los archivos adjuntos de Xenforo de alguna manera o simplemente copiar/pegar la estructura y /tmp/attachments?
Ahora estoy realizando la instalación en una nueva máquina virtual con una instantánea para poder cambiar rápidamente los detalles y comenzar de nuevo con la migración.
Ayer coloqué la carpeta de archivos adjuntos de Xenforo, que tiene una estructura como la siguiente: una carpeta principal llamada “attachments” y dentro de ella 9 subcarpetas con nombres del 0 al 9, y dentro de cada una hay alrededor de 600-700 archivos adjuntos (.jpg). Puse la carpeta en var/discourse/shared/standalone/tmp/attachments y modifiqué el script xenforo.rb para incluir:
ATTACHMENT_DIR = '/shared/tmp/attachments'
Probé con “ls /tmp/attachments” y obtuve la estructura correcta, pero enfrento el mismo error que la primera vez:
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#Texto preformateado`
2019-11-15T23:00:00Z
Eliminé el ! de la cadena gsub! en la ubicación:
/usr/local/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/core_ext/string/filters.rb
Ahora, el script de importación no se detiene, sino que continúa y muestra esta información sobre los archivos adjuntos:
De todos modos, por ejemplo, la última línea:
Could not find file /shared/tmp/attachments//2/2485-c3da9f6ee1e33d3ebf418c5dea1f9e8a.data. Skipping attachment id 2485
…el archivo SÍ está en esa ruta, pero no hay .data. En su lugar, hay .JPG.
Cualquier ayuda es bienvenida.
2019-11-15T23:00:00Z
El script tenía un error; lo encontré y lo solucioné. Ahora he logrado importar los archivos adjuntos.