view dbcleanup.php @ 4:dc5a8e316e21

Add database cleanup script
author Ivo Smits <Ivo@UCIS.nl>
date Tue, 12 Apr 2011 01:53:31 +0200
parents
children 005339a1b2ce
line wrap: on
line source

#!/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");
}