From c1f28f8d357d313b95ebbcc95c7201cc773aa81f Mon Sep 17 00:00:00 2001 From: Joas Schilling <coding@schilljs.com> Date: Mon, 7 Dec 2020 19:35:01 +0100 Subject: [PATCH] Make debugging migration exceptions easier Signed-off-by: Joas Schilling <coding@schilljs.com> --- lib/private/DB/MigrationService.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/private/DB/MigrationService.php b/lib/private/DB/MigrationService.php index 9c94cbc61fa..27e03318d6b 100644 --- a/lib/private/DB/MigrationService.php +++ b/lib/private/DB/MigrationService.php @@ -27,6 +27,7 @@ namespace OC\DB; +use Doctrine\DBAL\Exception\DriverException; use Doctrine\DBAL\Platforms\OraclePlatform; use Doctrine\DBAL\Platforms\PostgreSqlPlatform; use Doctrine\DBAL\Schema\Index; @@ -421,7 +422,13 @@ class MigrationService { // read known migrations $toBeExecuted = $this->getMigrationsToExecute($to); foreach ($toBeExecuted as $version) { - $this->executeStep($version, $schemaOnly); + try { + $this->executeStep($version, $schemaOnly); + } catch (DriverException $e) { + // The exception itself does not contain the name of the migration, + // so we wrap it here, to make debugging easier. + throw new \Exception('Database error when running migration ' . $to . ' for app ' . $this->getApp(), 0, $e); + } } } -- GitLab