From fca8f061abeaca295c76440c99b363f15c265d5b Mon Sep 17 00:00:00 2001
From: Joas Schilling <coding@schilljs.com>
Date: Wed, 5 Feb 2020 11:00:37 +0100
Subject: [PATCH] Split the exception handling so install errors don't log as
 setup errors More gebuging

Signed-off-by: Joas Schilling <coding@schilljs.com>
---
 lib/private/Setup.php | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/lib/private/Setup.php b/lib/private/Setup.php
index a44b0fd488f..acd75b88fb9 100644
--- a/lib/private/Setup.php
+++ b/lib/private/Setup.php
@@ -353,11 +353,9 @@ class Setup {
 
 		$this->config->setValues($newConfigValues);
 
+		$dbSetup->initialize($options);
 		try {
-			$dbSetup->initialize($options);
 			$dbSetup->setupDatabase($username);
-			// apply necessary migrations
-			$dbSetup->runMigrations();
 		} catch (\OC\DatabaseSetupException $e) {
 			$error[] = [
 				'error' => $e->getMessage(),
@@ -371,6 +369,16 @@ class Setup {
 			];
 			return $error;
 		}
+		try {
+			// apply necessary migrations
+			$dbSetup->runMigrations();
+		} catch (Exception $e) {
+			$error[] = [
+				'error' => 'Error while trying to initialise the database: ' . $e->getMessage(),
+				'hint' => '',
+			];
+			return $error;
+		}
 
 		//create the user and group
 		$user = null;
-- 
GitLab