innoDB, поведение приложения

Мой топик не очень связан с yii, но очень прошу совета.

я как-то больше работал с myisam, и связанные записи с других таблиц обрабатывал сам.

Сейчас хочу перейти на innoDB (это не вопрос топика :) ), очень заценил внешние ключи,

удаля к примеру какого то пользователя, все его данные из других таблиц тоже удаляются.

Но вот я сталкнулся с такой проблемой, что при myisam я сам убрабатывал удаление каждой

связанной таблицей и если какая из них содержала ссылки на файлы, то и файлы удалял.

А теперь получается в innodb удаля того же юзера, все записи в связанных таблицах удаляются

автоматически (on delete cascade) а файлы получается я уже не смогу удалить.

Как вы выстраиваете поведение приложени при таких ситуациях ?

p.s. пока писал пришла быстрая идея перед удалением юзера шарится по всем таблицам, выбирать файлы

для удаления и только тогда запускать удаление пользователя. и при успешном удалении пользователя

удалять его файлы, которые мы отдельно выбрали перед удалением.

вот собственно второй вопрос на сколько этот вариант хорош?

Заранее спасибо за помощь.

Хотите, чтобы всё удалялось само собой - храните и текст, и картинки, и файлы в БД :) Только холиваров на эту тему в топике прошу не разводить.

Когда файлы хранятся вне базы данных, то я запрещаю каскадное удаление данных, что требует предварительного “ручного” удаления записей из связанных таблиц, а в методе beforeDelete() основной модели располагаю соответствующий код. Самый простой вариант - выбрать все связанные объекты и вызвать для каждого метод delete(), полагая, что в связанных моделях при удалении происходит и удаление файлов. Если операция удаления довольно редкая (что не редкость :)) ), то это самое оно.

эх, клево было бы если бы при удалении записи в главной, каскадом дергались методы beforeDelete в связных таблицах.