|
|
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo
|
|
Łączenie kilku baz danych, łączenie powtarzających się kont |
Autor |
Wiadomość |
Oneitatsu

Pomógł: 841 razy Posty: 2324
|
Wysłany: 12-08-2012, 12:22 Łączenie kilku baz danych, łączenie powtarzających się kont
|
|
|
Witam.
Mam takie zadanie, które polega na połączeniu kilku baz danych. Nie wszystko na raz oczywiście - szczególnie, że niektóre kopie są stare i trzeba modyfikować ich strukturę, czy doszukiwać się poprawnego kodowania.
Nie jest to szczególnym problemem, operację wykonać mogę (przez skrypt merge_phpbb), ale nie wszystko wychodzi tak jakby się uważało, że wyjdzie.
Problem stanowi między innymi tabela _users. Po połączeniu, konta o tych samych nazwach dalej egzystują, obok siebie. Nie zostają scalone, tj.:
Konto o nazwie XYZ + Konto o nazwie XYZ =/= Konto o nazwie XYZ zawierające cechy obu składowych
tylko =>
Konto o nazwie XYZ + Konto o nazwie XYZ =/= Konto o nazwie XYZ + Konto o nazwie XYZ6.
Bądź obrazując inaczej, jeśli w obu łączonych forach było konto "Oneitatsu", to po scaleniu będzie pokazywać się konto "Oneitatsu", oraz konto "Oneitatsu6". Jest dopisywana szóstka na końcu nazwy, która się powtarza. Każde konto ma osobną ilość postów i ogólnie cech.
Doszukałem się jedynie jednego wątku tutaj, który daje odpowiedzi, ale nie jestem ich zupełnie pewien. Joli tutaj przedstawiła zapytania do SQL: http://www.przemo.org/php...p=401705#401705 - jest to dla osób, chcących połączyć niewielką ilość kont. Ja mam ten problem, że kont nie scalonych będzie od kilkudziesięciu do kilkuset - szukam zatem skrótowca. Do tego przedstawiona przez Joli metoda nie łączy wszystkiego, np. prywatnych wiadomości (co sugeruje kolejne zapytania, wzorując się na tych podanych).
Proszę mnie utwierdzić w jakimś przekonaniu: jest jakiś wygodny skrót, czy czeka mnie ślęczenie nad okienkami zapytań i tabel? |
|
|
|
 |
Gadatliwa Kasia
|
|
|
|
Przemo


Pomógł: 210 razy Posty: 3148
|
Wysłany: 13-08-2012, 23:26
|
|
|
Czyli problem taki ze ma ignorowac zdublowanych userow? No to w takim razie trzeba w kodzie znalezc miejsce w ktorym dopisywany jest numer do nazwy usera i zakomentowac ten kod dac w petli zeby przeszedl do kolejnego kroku czy cos takiego. Ja pisalem to laczenie ale juz nie wiem nawet skad to pobrac |
|
|
|
 |
Oneitatsu

Pomógł: 841 razy Posty: 2324
|
Wysłany: 14-08-2012, 00:09
|
|
|
;> z własnego serwera: http://przemo.org/phpBB2/download/merge_phpBB.zip (więcej).
Może nie tyle ignorować.. Mamy w bazie głównej konto o nazwie "X" i importujemy kilka kopii .sql. Załóżmy, że w każdej również znajduje się konto o nazwie "X" (ta sama osoba). Wygoda polega na tym, aby skrypt na etapie łączenia baz danych, scalał także w całości konta o podobnych cechach, więc np. z pięciu kont o nazwie "X" powstawałoby jedno, tj. najświeższe konto, wzbogacone o dane z przeszłości (głównie posty).
Oczywiście "wygoda" ta byłaby tylko opcjonalna, ponieważ unikalne nazwy użytkowników (szczególnie na dużych forach) to nieraz rzadkość. Nie chcielibyśmy przecież, aby połączyć dwie różne osoby, korzystające z tego samego nicku.
Import daje dokładnie to, o czym mówi instrukcja - konta-klony zyskują "6" do nazwy i są odrębne. Można to zmieniać zapytaniami, które podlinkowałem wcześniej, tyle, że to zajmuje dużo czasu.
Postanowiliśmy dzisiaj z administratorem głównym ułatwić sobie tę drogę. Zamiast poprawiać ponad tysiąc kont, naprawimy tylko te aktywne - a resztę, w formie detalicznej. Tj. jeśli ktoś z przeszłości forum wpadnie z wizytą i zażyczy sobie łączenia, to taką usługę dostanie. Ostatecznie zależy nam wyłącznie na postach, więc damy sobie z tym konkretnym problemem spokój.
Dzięki za odpowiedź .
PS. Daję Ci oficjalnie punkt "pomógł", nie tylko za post wyżej, ale także za wydanie wersji 1.12.7, na którą czekałem z utęsknieniem. |
|
|
|
 |
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!
Powered by phpBB modified by Przemo © 2003 phpBB
| Strona wygenerowana w 0,05 sekundy. Zapytań do SQL: 12 | |
 |
|