summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2010-11-14 13:42:29 +0100
committerYorhel <git@yorhel.nl>2010-11-14 13:42:29 +0100
commitf5ceecf5098f75bf8732db04c97818d57d17c634 (patch)
tree2ed446d23cacfa6b2b6901c8e12a7b3e2f208dff /lib
parentbea881bea4a429fb2a63325410a9f5fab7291a2d (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.pm16
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]);
}