W dniu 11.10.2012 17:45, Paweł Peters napisał(a):
W dniu 11.10.2012 17:13, Tomasz Chiliński pisze:
W dniu 11.10.2012 16:36, Paweł Peters napisał(a):
Witam,
Witam,
pisałem wczoraj w sprawie lms-payments i segfaulta lmsd. Wydaje mi się że znalazłem. odtwarzając kopie zapasową z poziomu lms zauważyłem, że części danych mi brakuje, co dokładnie się nie zaimportowało tego jeszcze nie wiem ale na pewno tabela macs po takiej operacji została mi pusta. Grzebiąc trochę i robiąc import całego pliku ręcznie wywala takie błędy: ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`lms/macs`, CONSTRAINT `macs_ibfk_1` FOREIGN KEY (`nodeid`) REFERENCES `nodes` (`id`) ON DELETE CASCADE ON UPDATE CASCADE) ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`lms/macs`, CONSTRAINT `macs_ibfk_1` FOREIGN KEY (`nodeid`) REFERENCES `nodes` (`id`) ON DELETE CASCADE ON UPDATE CASCADE) ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`lms/macs`, CONSTRAINT `macs_ibfk_1` FOREIGN KEY (`nodeid`) REFERENCES `nodes` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
natomiast wycinając kawałek dotyczący tabeli macs i importując tylko jego wchodzi bez masła. Czy mądrzejsi ode mnie mogą podpowiedzieć co z tym zrobić? Co to powoduje i dla jakich tabel będzie występował taki sam błąd? Jakie mają jeszcze zewnętrzne klucze? Nie chciałbym na piechotę zaglądać do każdej tabeli i patrzeć czy jest pusta ale liczyć czy coś brakuje. Problem z lmsd wynikał właśnie stąd, że macs było puste a lms-payments najprawdopodobniej dlatego że assigments mogło być puste. Jakieś podpowiedzi? Wnioski?
Wniosek jest taki, że sam sobie generujesz problemy ;-) Zdaje się, że pisałeś, że używasz wersji 1.11.10, a ta wersja na pewno nie dysponowała tabelą macs.
Będę wdzięczny za pomoc, bo faktury wystawić musze... Pozdrawiam Px2
Hej,
Dzięki Tomku za rzeczową odpowiedź;) nie wiem tylko za co...? Jak przeczytasz poprzedniego mejla o lms-payments to zauważysz że jednak 1.11.11. A wyciągnięte z tej wersji lms.mysql rzecze jasno: CREATE TABLE macs ( id int(11) NOT NULL auto_increment, mac varchar(17) NOT NULL DEFAULT '', nodeid int(11) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (nodeid) REFERENCES nodes (id) ON DELETE CASCADE ON UPDATE CASCADE, UNIQUE KEY mac (mac, nodeid) ) ENGINE=InnoDB;
Dobra, to teraz dalej kto ma pomysł dlaczego jest tak a nie inaczej? Czy to bug, czy tylko u mnie? Doprowadziłem (jeśli to tylko problem z macs) baze do porządku - nawet FV udało mi sie wystawić. I zrobiłem jeszcze raz to samo - kopia zapasowa pod lms i przywrócenie tejże. Wynik taki sam - macs puste. Może ktoś sprawdzić u siebie?
Zacznij od próby wgrania backupu bezpośrednio w konsoli MySQL. Będziesz miał wtedy jak na dłoni komunikaty błędów mojego "ulubionego" silnika bazodanowego jakim jest MySQL. Zobacz również w jakiej kolejności w zrzucie bazy występują odwołania do tabel nodes i macs. Dlaczego akurat wersja 1.11.11? Było już tyle różnych poprawek w wersjach późniejszych, że niewykluczone, że problem może być nieaktualny.
Pozdrawiam Px2