Forum OpenACS Development: Re: apm callbacks during uninstall?
-- The object this request pertains to object_id integer constraint notif_request_object_id_fk references acs_objects (object_id) on delete cascade,
and in notifications:
-- the object this notification pertains to object_id integer constraint notif_object_id_fk references acs_objects(object_id) on delete cascade,
However, the primary keys for these tables (request_id, notification_id) that have a foreign key constraint to acs_objects that *don't* on cascade delete. When these objects are deleted via the pgplsql functions, then their corresponding acs_objects get correctly deleted, but otherwise the acs_objects have to be manually deleted.
So, adding "on delete cascade" to the fk constraints should fix that, eh? Thus:
alter table notifications add constraint notif_notif_id_fk foreign key (object_id) references acs_objects (object_id) on delete cascade; alter table notification_requests add constraint notif_request_id_fk foreign key (object_id) references acs_objects (object_id) on delete cascade;
Anyway, presuming this is so, I'll add a patch to my bug report that does this, including an upgrade script. Have a look and if (Jade/Jeff) you think this is correct, let me know and I'll go ahead and commit to oacs-5-1.