-------------------------------------------------- From: "Tomasz Chiliński" tomasz.chilinski@chilan.com Sent: Wednesday, March 13, 2013 10:06 AM To: "lista użytkowników LMS" lms@lists.lms.org.pl Subject: Re: [lms] Helpdesk a usuwanie zgłoszeń
W dniu 13.03.2013 04:34, LoLe napisał(a):
Mam wersję LMS git z około 08.12.2012 i ostatnio zauważyłem że kiedy dodam zgłoszenie a później je usunę to w tabelach rtmessages i rtticketcategories zostają wpisy dot tego złgoszenia. Czy to u mnie tak jest czy to jest błąd który nie został jeszcze wykryty?
To u Ciebie błąd - prawdopodobnie nie w pełni aktualnych schemat bazy danych. Rekordy ze wspomnianych tabel usuwane są automatycznie przy usuwaniu rekordów z tabeli rttickets, gdyż wiąże je relacja.
No masz rację. Tylko teraz zastanawiam się gdzie popełniłem błąd. Po przebadaniu okazuje się że klucze obce mam założone tylko na tabelach nodeassignments, macs oraz records.
Patrząc w plik ze strukturami lms.mysql z katalogu doc widzę że tylko te tabele miały definiowane klucze obce w postaci FOREIGN KEY ....:
CREATE TABLE nodeassignments ( id int(11) NOT NULL auto_increment, nodeid int(11) NOT NULL, assignmentid int(11) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (nodeid) REFERENCES nodes (id) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (assignmentid) REFERENCES assignments (id) ON DELETE CASCADE ON UPDATE CASCADE, UNIQUE KEY nodeid (nodeid, assignmentid), INDEX assignmentid (assignmentid) ) ENGINE=InnoDB;
a te na których klucze obce nie pozakładały się są zapisane jako REFERENCES ... tak:
CREATE TABLE rtattachments ( messageid int(11) NOT NULL REFERENCES rtmessages (id) ON DELETE CASCADE ON UPDATE CASCADE, filename varchar(255) NOT NULL DEFAULT '', contenttype varchar(255) NOT NULL DEFAULT '', INDEX messageid (messageid) ) ENGINE=InnoDB;
Czy ja coś skopałem przy instalacji?