Jak usunąć pliki po usunięciu rekordu?
Mam stolik:
CREATE TABLE photo (
photo_id BIGINT NOT NULL AUTO_INCREMENT,
property_id BIGINT NOT NULL,
filename VARCHAR (50) NOT NULL;
...
PRIMARY KEY (photo_id),
CONSTRAINT photo_fk_property FOREIGN KEY (property_id)
REFERENCES property (property_id)
ON DELETE CASCADE
);
Po usunięciu wiersza z tej tabeli plik, do którego się odwołuje, również powinien zostać usunięty. Istnieją dwa scenariusze usuwania rekordów z tej tabeli:
Użytkownik usuwa jedno konkretne zdjęcie.Użytkownik usuwa jeden konkretny obiekt właściwości (jak w „nieruchomości”), a wszystkie zdjęcia odwołujące się do tej właściwości są automatycznie usuwane przezON DELETE CASCADE
.Wiem, że mogę usunąć wszystkie odnośniki do zdjęć w bazie danych przed usunięciem właściwości i usunąć je wraz z plikami jeden po drugim, ale szukam alternatywnego rozwiązania. Czy jest możliwe złapanie momentu, w którym rekord wphoto
tabela zostanie usunięta i usunie plik automatycznie, bez rezygnacji zCASCADE
klauzula, może w jakiś sposób spust?