diff --git a/lib/private/DB/MigrationService.php b/lib/private/DB/MigrationService.php index 9c94cbc61fa71f5ca6708a9441058e3464c7aecc..27e03318d6beec910cf6f0f1e7d71ea4f753dd37 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); + } } }