Forum OpenACS Development: Re: jiml's file storage fixes thread

Collapse
Posted by Jim Lynch on
Next,

it turned out that adding on delete cascade to the fs_root_folders table wasn't enough and another table affected is in a completely different package, oacs-dav. Without both of them taken care of (and the lie mentioned above), you can't delete root folders.

Here is the upgrade script part:

alter table
    dav_site_node_folder_map
drop constraint
    dav_impls_folder_id_fk;

alter table dav_site_node_folder_map add constraint dav_impls_folder_id_fk foreign key (folder_id) references cr_folders on delete cascade;

And here is the diff for the create script:
Index: oacs-dav-create.sql
===================================================================
RCS file: /cvsroot/openacs-4/packages/oacs-dav/sql/postgresql/oacs-dav-create.sql,v
retrieving revision 1.2
diff -u -r1.2 oacs-dav-create.sql
--- oacs-dav-create.sql 12 Mar 2005 17:06:21 -0000      1.2
+++ oacs-dav-create.sql 9 Sep 2009 03:15:42 -0000
@@ -14,7 +14,7 @@
                         references site_nodes on delete cascade,
         folder_id       integer
                         constraint dav_impls_folder_id_fk
-                        references cr_folders,
+                        references cr_folders on delete cascade,
        enabled_p       boolean
 );