Skocz do zawartości

Jak naprawić problem z załącznikami po konwersji z phpbb2/3 do IPB 3.3.4


Rekomendowane odpowiedzi

Opublikowano

Witam,

Ostatnio robiłem konwersję z PHPBB2 by Przemo do IPB 3.3.4.

Wykonałem ją następująco:

phpbb2 -> phpbb3

phpbb3 -> IPB

Największym problemem okazały się załączniki, które po konwersji przestały być widoczne w postach,

a te które były widoczne, nie dały się pobierać, żegnając nas komunikatem "Brak uprawnień".

Przeszukałem cały support IPS, Invisionize i nigdzie nie znalazłem rozwiązania.

Tymczasowym rozwiązaniem problemu była edycja postu i ponowny zapis, co "naprawiało" problem z załącznikiem w danym poście.

Moje forum posiada około 4000 załączników, więc edycja postów była po prostu niewykonalna, zatem postanowiłem poszukać rozwiązania problemu sam.

Na anglojęzycznych forach wyczytałem że problemem może być wartość 0 wpisana w polach "post_key" w tabeli "posts" oraz "attach_post_key" w tabeli "attachments", w miejsce której powinien być wpisany zgodny hash MD5(microtime());

Źródło: http://invisionfocus.com/topic/5479-attachments-not-displaying-after-conversion/

Jednak ten tok rozumowania jest błędny a przyczyna leży tak na prawdę w czym innym.

Problemem leży w tabeli attachments, w kolumnie "attach_parent_id".

Wartość ta podczas konwersji jest kopiowana z bazy phpbb i odnosi się do "id" tematu (topic) do którego należy załącznik.

Jednak co się stanie, gdy nie wszystkie tematy zostaną właściwie przekonwertowane, lub konwersja tematów (topiców) zakończy się z błędami.

Otóż wartość "attach_parent_id" w tabeli attachments nie zostanie uaktualniona o właściwe rekordy topiców, co spowoduje że załącznik odnosił się będzie do nieistniejącego tematu i problem gotowy.

Na potrzeby rozwiązania problemu, stworzyłem skrypt w PHP, który rozwiązuje ten problem:

  1. skrypt listuje wszystkie załączniki
  2. sprawdza do którego postu przypisany jest załącznik
  3. wyciąga poprawny topic_id z postu
  4. przypisuje właściwy topic_id do załącznika

Sprawdzone, działa.

Mam nadzieję, że pomoże to wszystkim, którzy nie pokonali tego problemu.

Pozwalam przypiąć temat dla potomnych i wykorzystywać skrypt wykonany przeze mnie dalej.

Ps. skrypt wrzucamy do katalogu, w którym zainstalowane jest forum i wywołujemy http://domena.com/import.php

import.rar

Opublikowano

Przenoszę ten temat do poradników i pozwolę sobie również zmienić tytuł, aby jednoznacznie kojarzył się z tym, że Ty znasz rozwiązanie a nie szukasz problemu. Notabene, miałem identyczne problemy z załącznikami i identyczną drogę konwersji. Najpierw Przemo, potem z Przema na "trójkę" i z trójki do IP Board. Gratuluję napisania tego poradnika, na pewno przyda się dla potomnych.

Opublikowano
Mam nadzieję, że pomoże to wszystkim, którzy nie pokonali tego problemu.

Wówczas, nie pokonałem tego problemu. Siedziałem i dukałem edycje postów. Bodajże trzy tygodnie dzień w dzień i noc w noc ile tylko miałem sił, edytowałem posty w galeriach. Na szczęście na moim forum, jest wielki porządek ze zdjęciami, więc doskonale wiedziałem gdzie mają być. Gdybym wtedy miał taki poradnik, ehhh. Cieszę się że powstał. Teraz inni, skorzystają.
Opublikowano

Cieszę się, że temat ten znalazł się w tak zacnym dziale.

Jestem przekonany, że dzięki temu migracja będzie jeszcze łatwiejsza.

Dziękuję i pozdrawiam.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.