annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
1 #!/usr/bin/php
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
2 <?php
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
3 chdir(__DIR__);
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
4 require_once './common.php';
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
5
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
6 docleanup('Orphaned peergroups', 'DELETE FROM `peergroups` WHERE `group` NOT IN (SELECT `id` FROM `groups`)');
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
7 docleanup('Orphaned peergroups', 'DELETE FROM `peergroups` WHERE `peer` NOT IN (SELECT `id` FROM `peers`)');
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
8 docleanup('Orphaned groupmessages', 'DELETE FROM `groupmessages` WHERE `group` NOT IN (SELECT `id` FROM `groups`)');
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
9 docleanup('Orphaned messages', 'DELETE FROM `messages` WHERE `id` NOT IN (SELECT `message` FROM `groupmessages`)');
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
10 docleanup('Orphaned groupmessages', 'DELETE FROM `groupmessages` WHERE `message` NOT IN (SELECT `id` FROM `messages`)');
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
11 docleanup('Optimize', 'OPTIMIZE TABLE `groupmessages`, `groups`, `messages`, `peergroups`, `peer`');
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
12
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
13 function docleanup($comment, $query) {
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
14 global $db;
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
15 $count = $db->update($query);
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
16 print($comment.': '.$count."\n");
dc5a8e316e21 Add database cleanup script
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
17 }