Speedup schema cloning for MySQL

This commit is contained in:
Victor Dubiniuk 2016-03-18 17:41:00 +03:00
parent aa56d42fa8
commit 01aedbe506
1 changed files with 23 additions and 0 deletions

View File

@ -24,6 +24,7 @@
namespace OC\DB;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\DBAL\Schema\Table;
class MySQLMigrator extends Migrator {
/**
@ -48,4 +49,26 @@ class MySQLMigrator extends Migrator {
return $schemaDiff;
}
/**
* Speed up migration test by disabling autocommit and unique indexes check
*
* @param \Doctrine\DBAL\Schema\Table $table
* @throws \OC\DB\MigrationException
*/
protected function checkTableMigrate(Table $table) {
$this->connection->exec('SET autocommit=0');
$this->connection->exec('SET unique_checks=0');
try {
parent::checkTableMigrate($table);
} catch (\Exception $e) {
$this->connection->exec('SET unique_checks=1');
$this->connection->exec('SET autocommit=1');
throw new MigrationException($table->getName(), $e->getMessage());
}
$this->connection->exec('SET unique_checks=1');
$this->connection->exec('SET autocommit=1');
}
}