Tweak failure message and throw exceptions from updateDbFromStructure()

This commit is contained in:
Michael Gapczynski 2013-01-05 12:13:36 -05:00
parent 89823ef4f9
commit f6426cee04
3 changed files with 12 additions and 9 deletions

View File

@ -10,11 +10,12 @@ if (OC::checkUpgrade(false)) {
OC_Hook::connect('update', 'error', $watcher, 'error');
OC_Hook::connect('update', 'error', $watcher, 'failure');
$watcher->success('Turned on maintenance mode');
$result = OC_DB::updateDbFromStructure(OC::$SERVERROOT.'/db_structure.xml');
if (!$result) {
$watcher->failure('Error updating database');
try {
$result = OC_DB::updateDbFromStructure(OC::$SERVERROOT.'/db_structure.xml');
$watcher->success('Updated database');
} catch (Exception $exception) {
$watcher->failure($exception->getMessage());
}
$watcher->success('Updated database');
$minimizerCSS = new OC_Minimizer_CSS();
$minimizerCSS->clearCache();
$minimizerJS = new OC_Minimizer_JS();

View File

@ -642,7 +642,7 @@ class OC_App{
}
catch (Exception $e) {
echo 'Failed to upgrade "'.$app.'". Exception="'.$e->getMessage().'"';
OC_Hook::emit('update', 'failure', 'Error updating '.$info['name'].' app: '.$e->getMessage());
OC_Hook::emit('update', 'failure', 'Failed to update '.$info['name'].' app: '.$e->getMessage());
die;
}
OC_Appconfig::setValue($app, 'installed_version', OC_App::getAppVersion($app));

View File

@ -495,8 +495,9 @@ class OC_DB {
if (PEAR::isError($previousSchema)) {
$error = $previousSchema->getMessage();
$detail = $previousSchema->getDebugInfo();
OC_Log::write('core', 'Failed to get existing database structure for upgrading ('.$error.', '.$detail.')', OC_Log::FATAL);
return false;
$message = 'Failed to get existing database structure for updating ('.$error.', '.$detail.')';
OC_Log::write('core', $message, OC_Log::FATAL);
throw new Exception($message);
}
// Make changes and save them to an in-memory file
@ -523,8 +524,9 @@ class OC_DB {
if (PEAR::isError($op)) {
$error = $op->getMessage();
$detail = $op->getDebugInfo();
OC_Log::write('core', 'Failed to update database structure ('.$error.', '.$detail.')', OC_Log::FATAL);
return false;
$message = 'Failed to update database structure ('.$error.', '.$detail.')';
OC_Log::write('core', $message, OC_Log::FATAL);
throw new Exception($message);
}
return true;
}