#!/usr/bin/env php . // Perform DB updates. // Used by "upgrade". // Can also be run manually in project/html/ops. require_once("../inc/util_ops.inc"); echo "Checking for DB updates...\n"; $db_revision = 0; if (file_exists("../../db_revision")) { $db_revision = (int) file_get_contents("../../db_revision"); } require_once("db_update.php"); $updates = array(); foreach($db_updates as $db_update) { if ($db_update[0] > $db_revision) { $func = $db_update[1]; echo "need update $func\n"; $updates[] = $db_update; } } if (empty($updates)) { echo "\nNo updates needed\n"; exit; } echo "Do you want to apply these updates? (y/n) "; $x = trim(fgets(STDIN)); if ($x != 'y') { echo "OK - see db_update.php to do manual updates, or run this script again later. "; exit; } if ($argc > 1) { echo "\nWarning: you are upgrading only web or server code,\nbut these updates may affect the other code as well.\nWe recommend that you run 'upgrade' again to upgrade both parts of the code.\n\n"; } foreach($updates as $update) { list($rev, $func) = $update; echo "performing update $func\n"; call_user_func($func); file_put_contents("../../db_revision", $rev); } echo "All done.\n"; ?>