public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet) { foreach ($dataSet->getReverseIterator() as $table) { /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */ $query = "\n {$connection->getTruncateCommand()} {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}\n "; if ($this->useCascade && $connection->allowsCascading()) { $query .= " CASCADE"; } try { $connection->getConnection()->query($query); } catch (PDOException $e) { throw new PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', $query, array(), $table, $e->getMessage()); } } }
public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet) { foreach ($dataSet->getReverseIterator() as $table) { /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */ $query = "\n {$connection->getTruncateCommand()} {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}\n "; if ($this->useCascade && $connection->allowsCascading()) { $query .= ' CASCADE'; } try { $this->disableForeignKeyChecksForMysql($connection); $connection->getConnection()->query($query); $this->enableForeignKeyChecksForMysql($connection); } catch (\Exception $e) { $this->enableForeignKeyChecksForMysql($connection); if ($e instanceof PDOException) { throw new PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', $query, [], $table, $e->getMessage()); } throw $e; } } }
/** * Disable foreign key constraint checking prior to running the stock PHPUnit * truncate operation and then re-enable it. * * @param \PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection * @param \PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet * @return void */ public function execute(\PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, \PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet) { if (defined('WPINC')) { $connection->getConnection()->query("SET foreign_key_checks = 0"); } foreach ($dataSet->getReverseIterator() as $table) { /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */ $query = "\n {$connection->getTruncateCommand()}\n {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}\n "; if (defined('WPINC')) { $query .= ""; } else { $query .= " RESTART IDENTITY CASCADE"; } try { $connection->getConnection()->query($query); } catch (PDOException $e) { throw new PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', $query, array(), $table, $e->getMessage()); } } if (defined('WPINC')) { $connection->getConnection()->query("SET foreign_key_checks = 1"); } }