Use a better error message and point the users to the support channels
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
825a403f9c
commit
ef917ee9c8
|
@ -40,6 +40,7 @@
|
||||||
|
|
||||||
namespace OC;
|
namespace OC;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Exception\TableExistsException;
|
||||||
use OC\App\CodeChecker\CodeChecker;
|
use OC\App\CodeChecker\CodeChecker;
|
||||||
use OC\App\CodeChecker\EmptyCheck;
|
use OC\App\CodeChecker\EmptyCheck;
|
||||||
use OC\App\CodeChecker\PrivateCheck;
|
use OC\App\CodeChecker\PrivateCheck;
|
||||||
|
@ -561,7 +562,14 @@ class Installer {
|
||||||
//install the database
|
//install the database
|
||||||
$appPath = OC_App::getAppPath($app);
|
$appPath = OC_App::getAppPath($app);
|
||||||
if(is_file("$appPath/appinfo/database.xml")) {
|
if(is_file("$appPath/appinfo/database.xml")) {
|
||||||
OC_DB::createDbFromStructure("$appPath/appinfo/database.xml");
|
try {
|
||||||
|
OC_DB::createDbFromStructure("$appPath/appinfo/database.xml");
|
||||||
|
} catch (TableExistsException $e) {
|
||||||
|
throw new HintException(
|
||||||
|
'Failed to enable app ' . $app,
|
||||||
|
'Please ask for help via one of our <a href="https://nextcloud.com/support/" target="_blank" rel="noreferrer">support channels</a>.'
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//run appinfo/install.php
|
//run appinfo/install.php
|
||||||
|
|
|
@ -149,6 +149,10 @@ class Updater extends BasicEmitter {
|
||||||
$success = true;
|
$success = true;
|
||||||
try {
|
try {
|
||||||
$this->doUpgrade($currentVersion, $installedVersion);
|
$this->doUpgrade($currentVersion, $installedVersion);
|
||||||
|
} catch (HintException $exception) {
|
||||||
|
$this->log->logException($exception, ['app' => 'core']);
|
||||||
|
$this->emit('\OC\Updater', 'failure', array($exception->getMessage() . ': ' .$exception->getHint()));
|
||||||
|
$success = false;
|
||||||
} catch (\Exception $exception) {
|
} catch (\Exception $exception) {
|
||||||
$this->log->logException($exception, ['app' => 'core']);
|
$this->log->logException($exception, ['app' => 'core']);
|
||||||
$this->emit('\OC\Updater', 'failure', array(get_class($exception) . ': ' .$exception->getMessage()));
|
$this->emit('\OC\Updater', 'failure', array(get_class($exception) . ': ' .$exception->getMessage()));
|
||||||
|
|
Loading…
Reference in New Issue