From f5ceecf5098f75bf8732db04c97818d57d17c634 Mon Sep 17 00:00:00 2001 From: Yorhel Date: Sun, 14 Nov 2010 13:42:29 +0100 Subject: SQL: Added ON DELETE clause to all foreign keys referencing users (id) This makes deleting user accounts less error prone. It also seems I forgot to git add update_2.14.sql in an earlier commit, sorry about that. --- lib/VNDB/DB/Users.pm | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) (limited to 'lib') diff --git a/lib/VNDB/DB/Users.pm b/lib/VNDB/DB/Users.pm index b9d66200..7440f495 100644 --- a/lib/VNDB/DB/Users.pm +++ b/lib/VNDB/DB/Users.pm @@ -123,21 +123,7 @@ sub dbUserAdd { # uid sub dbUserDel { - my($s, $id) = @_; - # TODO: delete/update all those referenced rows using PgSQL reference actions - $s->dbExec($_, $id) for ( - q|DELETE FROM rlists WHERE uid = ?|, - q|DELETE FROM wlists WHERE uid = ?|, - q|DELETE FROM votes WHERE uid = ?|, - q|DELETE FROM tags_vn WHERE uid = ?|, - q|DELETE FROM sessions WHERE uid = ?|, - q|DELETE FROM notifications WHERE uid = ?|, - q|UPDATE notifications SET c_byuser = 0 WHERE c_byuser = ?|, - q|UPDATE changes SET requester = 0 WHERE requester = ?|, - q|UPDATE tags SET addedby = 0 WHERE addedby = ?|, - q|UPDATE threads_posts SET uid = 0 WHERE uid = ?|, - q|DELETE FROM users WHERE id = ?| - ); + $_[0]->dbExec(q|DELETE FROM users WHERE id = ?|, $_[1]); } -- cgit v1.2.3