Zauważono, że na forum nie udało się przenieść postów, które nie mają autora. Taka sytuacja wynika z usuwania kont użytkowników na ich żądanie. Żeby przemigrować wszystkie te posty, stworzyłem 11 kont pozbawionych danych dla każdego usuniętego użytkownika. W kilka godzin nieprzerwanej pracy udało mi się przypisać autorstwo WSZYSTKICH pozbawionych autora postów, wątków i wiadomości prywatnych do któregoś z tych 11 kont technicznych wysyłając polecenia SQL do bazy danych forum Invision. Uruchomiłem konwerter ponownie i mam wrażenie, że tym razem żadnych postów nie brakuje.
Był spam takiego typu SQLem:
UPDATE core_message_posts
SET msg_author_id = CASE WHEN msg_id IN (1, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 16, 20, 21, 22, 29, 30, 31, 32, 35, 36, 37, 40, 41, 42, 43, 47, 48, 69, 70, 71, 77, 82, 86, 100, 113, 122, 132, 134, 135, 136, 137, 142, 143, 147, 382, 347, 348, 338, 336, 335, 334, 333, 332, 331, 319, 318, 312, 231, 217, 177, 174, 163, 160, 158, 155, 154, 152, 151, 148) THEN 233511
WHEN msg_id = 191 THEN 233512
WHEN msg_id = 188 THEN 233519
ELSE msg_author_id
END
WHERE msg_id IN (1, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 16, 20, 21, 22, 29, 30, 31, 32, 35, 36, 37, 40, 41, 42, 43, 47, 48, 69, 70, 71, 77, 82, 86, 100, 113, 122, 132, 134, 135, 136, 137, 142, 143, 147, 382, 347, 348, 338, 336, 335, 334, 333, 332, 331, 319, 318, 312, 231, 217, 177, 174, 163, 160, 158, 155, 154, 152, 151, 148, 191, 188);
Co więcej, udało mi się zgrupować wiadomości prywatne w wątki. Teraz widać historię całej konwersacji, kiedy przeglądasz konkretną wiadomość prywatną.
Muszę jeszcze poprawić konwersję załączników oraz embedów.
Ogarniam regex, aby przekonwertować jak najwięcej klas i jak najwięcej inline-CSSów na BBCode'y. Dzisiaj już 5 godzin arbeitujemy, czas coś zjeść i spać.