mirror of
https://github.com/silverstripe/silverstripe-postgresql
synced 2024-10-22 17:05:45 +02:00
NEW: Improve the unittest running time by not truncating tables
When clearing tables this will delete all rows instead of truncating it. Benchmarking this change by running the full cms and framework test suit changed improved the running time from 32 minutes to 9 minutes. If truncate functionality is needed for any special cases it should be run as DB::query("TRUNCATE \"TableToTruncate\"");
This commit is contained in:
parent
cd7b761bed
commit
082adb4fd6
@ -1365,6 +1365,20 @@ class PostgreSQLDatabase extends SS_Database {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete all entries from the table instead of truncating it.
|
||||
*
|
||||
* This gives a massive speed improvement compared to using TRUNCATE, with
|
||||
* the caveat that primary keys are not reset etc.
|
||||
*
|
||||
* @see DatabaseAdmin::clearAllData()
|
||||
*
|
||||
* @param string $table
|
||||
*/
|
||||
public function clearTable($table) {
|
||||
$this->query('DELETE FROM "'.$table.'";');
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a boolean type-formatted string
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user