Problema com o script de importação ipboard3.rb

Estou tentando importar dados do meu fórum IPB e ao executar o script ipboard3 recebo o seguinte erro:

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 que está dando ‘undefined method’ para ‘encode!’ :confused:

Porque está sendo chamado com raw sendo nil.

Então, você precisará descobrir qual função está chamando isso e por que não está recebendo dados para os dados brutos do post.

Minha suposição é que seja esta linha:

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

Se for esse o caso, talvez o que deva ser feito seja modificar clean_up para que ela retorne nil se não receber dados.

isso está bom?

if raw.to_i.zero?
return
end

Tentei isso e ele importou todos os usuários, tópicos e postagens, mas as postagens não têm corpo (estão vazias). Tem alguma ideia do porquê? Não acho que adicionar “return nil” faria muita diferença. O que você acha?
Além disso, todas as mensagens privadas foram importadas, mas também estão vazias.

A consulta ao banco de dados está incorreta por algum motivo. Ela não está recuperando os dados do conteúdo da postagem.

Não, isso vai disparar com muita frequência. Tente isso:

return if raw.nil?

Isso é estranho, pois estou usando o IPB3 e verifiquei os nomes das colunas e eles batem :open_mouth:

Se você executar as consultas que o script está fazendo, elas fornecem os dados que você espera?

Você mudou seu

if raw.to_i.zero?

para algo como

if raw.length == 0

"randome text".to_i.zero? sempre será verdadeiro.