diff options
author | Yorhel <git@yorhel.nl> | 2010-11-14 13:42:29 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2010-11-14 13:42:29 +0100 |
commit | f5ceecf5098f75bf8732db04c97818d57d17c634 (patch) | |
tree | 2ed446d23cacfa6b2b6901c8e12a7b3e2f208dff /lib | |
parent | bea881bea4a429fb2a63325410a9f5fab7291a2d (diff) |
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.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/VNDB/DB/Users.pm | 16 |
1 files changed, 1 insertions, 15 deletions
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]); } |