1 2-- This database update refines the constraint on usr in order to try and be 3-- able to actually DELETE FROM usr WHERE user_no = x; and have the database 4-- do the right thing... 5 6BEGIN; 7SELECT check_db_revision(1,2,4); 8 9ALTER TABLE calendar_item DROP CONSTRAINT "calendar_item_user_no_fkey"; 10ALTER TABLE calendar_item ADD CONSTRAINT "calendar_item_user_no_fkey" FOREIGN KEY (user_no) REFERENCES usr(user_no) 11 ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE; 12 13ALTER TABLE caldav_data DROP CONSTRAINT "caldav_data_logged_user_fkey"; 14ALTER TABLE caldav_data ADD CONSTRAINT "caldav_data_logged_user_fkey" FOREIGN KEY (logged_user) REFERENCES usr(user_no) 15 ON UPDATE CASCADE ON DELETE SET DEFAULT DEFERRABLE; 16 17ALTER TABLE relationship DROP CONSTRAINT "relationship_from_user_fkey"; 18ALTER TABLE relationship ADD CONSTRAINT "relationship_from_user_fkey" FOREIGN KEY (from_user) REFERENCES usr(user_no) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE; 19ALTER TABLE relationship DROP CONSTRAINT "relationship_to_user_fkey"; 20ALTER TABLE relationship ADD CONSTRAINT "relationship_to_user_fkey" FOREIGN KEY (to_user) REFERENCES usr(user_no) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE; 21ALTER TABLE relationship DROP CONSTRAINT "relationship_rt_id_fkey"; 22ALTER TABLE relationship ADD CONSTRAINT "relationship_rt_id_fkey" FOREIGN KEY (rt_id) REFERENCES relationship_type(rt_id) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE; 23 24ALTER TABLE property DROP CONSTRAINT "property_changed_by_fkey"; 25ALTER TABLE property ADD CONSTRAINT "property_changed_by_fkey" FOREIGN KEY (changed_by) REFERENCES usr(user_no) 26 ON UPDATE CASCADE ON DELETE SET DEFAULT DEFERRABLE; 27 28 29SELECT new_db_revision(1,2,5, 'Mai' ); 30 31COMMIT; 32ROLLBACK; 33 34