Problema con el script de importación ipboard3.rb

Estoy intentando importar datos de mi foro de IPB y al ejecutar el script ipboard3 obtengo el siguiente error:

script/import_scripts/ipboard3.rb:375:in `clean_up': undefined method `encode!' for nil:NilClass (NoMethodError)
root@forum:/var/www/discourse#  `clean_up': undefined method `encode!'

¿Por qué está dando ‘undefined method encode!’ :confused:?

Porque se está llamando con raw siendo nil.

Así que tendrás que averiguar qué función lo está llamando y por qué no está recibiendo los datos para el campo raw de la publicación.

Mi suposición es que es esta línea:

           bio_raw: clean_up(u["pp_about_me"]),

Si ese es el caso, entonces quizás lo que debas hacer es modificar clean_up para que devuelva nil si no recibe datos.

2 Me gusta

¿Esto está bien?

if raw.to_i.zero?
return
end

Lo probé e importó todos los usuarios, temas y posts, pero los posts no tienen cuerpo (están vacíos). ¿Tienes alguna idea de por qué? No creo que añadir “return nil” marque mucha diferencia, ¿qué opinas?
Además, todos los mensajes personales se importaron, pero también están vacíos.

La consulta a la base de datos es incorrecta por alguna razón. No está obteniendo los datos del contenido de la publicación.

No, eso se activará demasiado a menudo. Prueba esto:

return if raw.nil?

2 Me gusta

Eso es extraño, porque estoy usando IPB3 y verifiqué los nombres de las columnas y coinciden :open_mouth:

Si realizas las consultas que ejecuta el script, ¿proporcionan los datos que esperas?

¿Cambias tu

if raw.to_i.zero?

por algo como

if raw.length == 0

"randome text".to_i.zero? siempre será verdadero.

2 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.