CActiveRecord::deleteAll() will not rise up event

As the title, when call CActiveRecord::deleteAll(), it will not rise CActiveRecord::beforeDelete() event.

I have no idea that whether a bug.

This is a known issue that can’t be fixed, withou affecting the performace of deleteAll(). To fix, you would have to Query for all records before issuing the SQL DELETE command, so this would take an additional query and thus create overhead.

I just want to do some filesystem operation, but failed.

Seems that I need to using CActiveRecord::findAll() and using CActiveRecord::delete() in a foreach loop if event not be rised up.

Yes, that’s one way you can workaround this issue. Just keep it in mind, whenever you want to use deleteAll(). Maybe we should have a note on this in the API manual. If you agree that this would have helped, i can create a ticket.