Only truncate users table if it exists

This commit is contained in:
Thibaud Fabre
2016-02-03 11:42:34 +01:00
parent 829c176e81
commit 661ab8ac04

View File

@@ -298,14 +298,17 @@ class Upgrade39Users implements PreSchemaUpgradeInterface
$connection = $em->getConnection(); $connection = $em->getConnection();
$dbPlatform = $connection->getDatabasePlatform(); $dbPlatform = $connection->getDatabasePlatform();
$connection->beginTransaction(); $connection->beginTransaction();
try {
$connection->query('SET FOREIGN_KEY_CHECKS=0'); if ($connection->getSchemaManager()->tablesExist([ $meta->getTableName() ])) {
$connection->executeUpdate($dbPlatform->getTruncateTableSql($meta->getTableName())); try {
$connection->query('SET FOREIGN_KEY_CHECKS=1'); $connection->query('SET FOREIGN_KEY_CHECKS=0');
$connection->commit(); $connection->executeUpdate($dbPlatform->getTruncateTableSql($meta->getTableName()));
} catch (\Exception $e) { $connection->query('SET FOREIGN_KEY_CHECKS=1');
$connection->rollback(); $connection->commit();
throw $e; } catch (\Exception $e) {
$connection->rollback();
throw $e;
}
} }
} }