diff options
author | Mike Macgirvin <mike@macgirvin.com> | 2010-08-14 19:31:10 -0700 |
---|---|---|
committer | Mike Macgirvin <mike@macgirvin.com> | 2010-08-14 19:31:10 -0700 |
commit | f44a499ca710c417fb0370b3652bb78d4b09661f (patch) | |
tree | ff84830db80c52beaab64ea24ea549350fdca678 /boot.php | |
parent | d76348575299db76d8b6aabd460d21f6b3b0edfb (diff) | |
download | volse-hubzilla-f44a499ca710c417fb0370b3652bb78d4b09661f.tar.gz volse-hubzilla-f44a499ca710c417fb0370b3652bb78d4b09661f.tar.bz2 volse-hubzilla-f44a499ca710c417fb0370b3652bb78d4b09661f.zip |
schema auto-update
Diffstat (limited to 'boot.php')
-rw-r--r-- | boot.php | 27 |
1 files changed, 24 insertions, 3 deletions
@@ -175,10 +175,31 @@ function check_config(&$a) { q("INSERT INTO `config` (`cat`,`k`,`v`) VALUES ( 'system', 'build', '%s' )", dbesc(BUILD_ID) ); + return; } - - - + foreach($r as $rr) { + if($rr['k'] == 'build') { + $stored = intval($rr['v']); + $current = intval(BUILD_ID); + if(($stored < $current) && file_exists('update.php')) { + + // We're reporting a different version than what is currently installed. + // Run any existing update scripts to bring the database up to current. + + require_once('update.php'); + for($x = $stored; $x <= $current; $x ++) { + if(function_exists('update_' . $x)) { + $func = 'update_' . $x; + $func($a); + } + } + q("UPDATE `config` SET `v` = '%s' WHERE `cat` = 'system' AND `k` = 'build' LIMIT 1", + dbesc(BUILD_ID) + ); + } + } + } + return; }} |