only run database schema update when running svn and actually have something to update

git-svn-id: http://www.observium.org/svn/observer/trunk@699 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Tom Laermans
2010-01-16 21:53:35 +00:00
parent adbb024c4d
commit f7924298cc
2 changed files with 22 additions and 2 deletions

View File

@@ -74,3 +74,4 @@ ALTER TABLE `devices` CHANGE `os` `os` VARCHAR( 32 ) NULL DEFAULT NULL;
ALTER TABLE `temperature` ADD `temp_precision` INT(11) NULL DEFAULT '1';
UPDATE temperature SET temp_precision=10 WHERE temp_tenths=1;
ALTER TABLE `temperature` DROP `temp_tenths`;
CREATE TABLE IF NOT EXISTS `dbSchema` ( `revision` int(11), KEY `revision` (`revision`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;

View File

@@ -38,8 +38,27 @@ if(!$where) {
exit;
}
echo("Applying database updates...\n");
shell_exec("scripts/update-sql.php database-update.sql");
if (file_exists('.svn'))
{
list(,$dbu_rev) = split(': ',@shell_exec('svn info database-update.sql|grep ^Revision'));
$device_query = mysql_query("SELECT revision FROM `dbSchema`");
if ($rev = @mysql_fetch_array($device_query))
{
$db_rev = $rev['revision'];
}
else
{
$db_rev = 0;
}
if ($dbu_rev+0 > $db_rev)
{
echo("Applying database updates to from r$db_rev to r" . trim($dbu_rev) . "...\n");
shell_exec("scripts/update-sql.php database-update.sql");
mysql_query("INSERT INTO dbSchema VALUES ($dbu_rev) ON DUPLICATE KEY UPDATE revision=$dbu_rev");
}
}
if(isset($options['d'])) { echo("DEBUG!\n"); $debug = 1; }