Problema con lo script di importazione ipboard3.rb

Sto cercando di importare dati dal mio forum IPB e lo script ipboard3 mi restituisce il seguente errore:

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!'

Perché mi restituisce “undefined method ‘encode!’”? :confused:

Perché viene chiamato con raw impostato su nil.

Quindi dovrai capire quale funzione lo sta chiamando e perché non sta ricevendo i dati grezzi per il post.

Il mio indovinello è questa riga:

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

Se è così, forse la soluzione è modificare clean_up in modo che restituisca nil se non riceve dati.

è questa una buona soluzione?

if raw.to_i.zero?
return
end

Ho provato questo e ha importato tutti gli utenti, i topic e i post, ma i post non hanno corpo (sono vuoti). Hai idea del perché? Non credo che aggiungere “return nil” farebbe molta differenza, cosa ne pensi?
Inoltre, tutti i messaggi privati sono stati importati, ma anche loro sono vuoti.

La query del database è sbagliata per qualche motivo. Non sta recuperando i dati per il contenuto del post.

No, si attiverebbe troppo spesso. Prova così:

return if raw.nil?

È strano, perché sto usando IPB3 e ho controllato i nomi delle colonne e corrispondono :open_mouth:

Se esegui le query che esegue lo script, restituiscono i dati che ti aspetti?

Hai modificato il tuo

if raw.to_i.zero?

in qualcosa come

if raw.length == 0

"randome text".to_i.zero? sarà sempre vero.