Permettimi di chiarire:
I topic e tutte le loro risposte vengono importati seguendo gli ID dei topic dal più piccolo al più grande nel database vbulletin. Ciò significa anche che stiamo importando in ordine cronologico.
Tuttavia, ciò porterebbe a pensare che se mai trovassi un riferimento a un altro topic, si tratterebbe sempre di uno che è già esistito.
Ma ci sono casi in cui ciò non è vero, solo un paio di esempi:
- Topic diviso con un commento che ha portato alla divisione. La divisione avverrebbe con un ID maggiore ma esistente in un topic con un ID minore.
- Modifica per i futuri lettori in cui i post dei vecchi topic fanno riferimento a quelli più recenti.
Quindi, sì, mentre topic_custom_field viene generato e riempito durante il progredire dell’importazione, come spiegato nel primissimo topic, non è affidabile farlo “al volo” perché non si può essere sicuri di trovare sempre la giusta corrispondenza tra gli ID.
È necessario un altro passaggio dopo il completamento dell’importazione completa.
Per quanto riguarda TopicCustomField.each do |tcf|, non sono sicuro di cosa farebbe la parte tcf. Ruby non è una lingua che ho imparato. Il nostro script è scritto in C# poiché la maggior parte delle persone che si sono offerte di lavorarci lo usano già per lavoro.