diff --git a/db/migrations/5.1.43_cleanup_forum_tables.php b/db/migrations/5.1.43_cleanup_forum_tables.php new file mode 100644 index 0000000000000000000000000000000000000000..6f0746957243105222e6f6134e0040413c49339e --- /dev/null +++ b/db/migrations/5.1.43_cleanup_forum_tables.php @@ -0,0 +1,20 @@ +<?php +final class CleanupForumTables extends Migration +{ + protected function up() + { + $query = "DELETE FROM `forum_abo_users` + WHERE `user_id` NOT IN ( + SELECT `user_id` + FROM `auth_user_md5` + )"; + DBManager::get()->exec($query); + + $query = "DELETE FROM `forum_favorites` + WHERE `user_id` NOT IN ( + SELECT `user_id` + FROM `auth_user_md5` + )"; + DBManager::get()->exec($query); + } +} diff --git a/lib/classes/UserManagement.class.php b/lib/classes/UserManagement.class.php index e44a71395298b7e79ac7ebf71f6ee121383a155f..516c9040a3ae2d222909c741c47e2f50aa4dcddc 100644 --- a/lib/classes/UserManagement.class.php +++ b/lib/classes/UserManagement.class.php @@ -1187,6 +1187,8 @@ class UserManagement "DELETE FROM evalanswer_user WHERE user_id = ?", "DELETE FROM help_tour_user WHERE user_id = ?", "DELETE FROM personal_notifications_user WHERE user_id = ?", + "DELETE FROM forum_abo_users WHERE user_id = ?", + "DELETE FROM forum_favorites WHERE user_id = ?", "DELETE FROM comments WHERE user_id = ?", "DELETE questionnaires FROM questionnaires LEFT JOIN questionnaire_assignments qa USING (`questionnaire_id`) WHERE qa.range_id = ?",