1
0
Fork 0

hopefully solve db update issues bug #182

This commit is contained in:
Friendika 2011-10-18 00:18:21 -07:00
commit 06096486d4
2 changed files with 19 additions and 9 deletions

View file

@ -539,6 +539,8 @@ function check_config(&$a) {
$current = intval(DB_UPDATE_VERSION);
if(($stored < $current) && file_exists('update.php')) {
load_config('database');
// We're reporting a different version than what is currently installed.
// Run any existing update scripts to bring the database up to current.
@ -552,6 +554,21 @@ function check_config(&$a) {
for($x = $stored; $x < $current; $x ++) {
if(function_exists('update_' . $x)) {
// There could be a lot of processes running or about to run.
// We want exactly one process to run the update command.
// So store the fact that we're taking responsibility
// after first checking to see if somebody else already has.
// If the update fails or times-out completely you may need to
// delete the config entry to try again.
if(get_config('database','update_' . $x))
break;
set_config('database','update_' . $x, '1');
// call the specific update
$func = 'update_' . $x;
$func($a);
}