changeset 4:dc5a8e316e21

Add database cleanup script
author Ivo Smits <Ivo@UCIS.nl>
date Tue, 12 Apr 2011 01:53:31 +0200
parents 0dcdb73cbcbf
children 5d62af5270dd
files dbcleanup.php
diffstat 1 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcleanup.php	Tue Apr 12 01:53:31 2011 +0200
@@ -0,0 +1,17 @@
+#!/usr/bin/php
+<?php
+chdir(__DIR__);
+require_once './common.php';
+
+docleanup('Orphaned peergroups', 'DELETE FROM `peergroups` WHERE `group` NOT IN (SELECT `id` FROM `groups`)');
+docleanup('Orphaned peergroups', 'DELETE FROM `peergroups` WHERE `peer` NOT IN (SELECT `id` FROM `peers`)');
+docleanup('Orphaned groupmessages', 'DELETE FROM `groupmessages` WHERE `group` NOT IN (SELECT `id` FROM `groups`)');
+docleanup('Orphaned messages', 'DELETE FROM `messages` WHERE `id` NOT IN (SELECT `message` FROM `groupmessages`)');
+docleanup('Orphaned groupmessages', 'DELETE FROM `groupmessages` WHERE `message` NOT IN (SELECT `id` FROM `messages`)');
+docleanup('Optimize', 'OPTIMIZE TABLE `groupmessages`, `groups`, `messages`, `peergroups`, `peer`');
+
+function docleanup($comment, $query) {
+	global $db;
+	$count = $db->update($query);
+	print($comment.': '.$count."\n");
+}