Add dropTable to IDBConnection
This commit is contained in:
parent
26861a98c5
commit
8af3991d0c
|
@ -263,16 +263,7 @@ class OC_DB {
|
||||||
*/
|
*/
|
||||||
public static function dropTable($tableName) {
|
public static function dropTable($tableName) {
|
||||||
$connection = \OC::$server->getDatabaseConnection();
|
$connection = \OC::$server->getDatabaseConnection();
|
||||||
$tableName = OC_Config::getValue('dbtableprefix', 'oc_' ) . trim($tableName);
|
$connection->dropTable($tableName);
|
||||||
|
|
||||||
$connection->beginTransaction();
|
|
||||||
|
|
||||||
$platform = $connection->getDatabasePlatform();
|
|
||||||
$sql = $platform->getDropTableSQL($platform->quoteIdentifier($tableName));
|
|
||||||
|
|
||||||
$connection->executeQuery($sql);
|
|
||||||
|
|
||||||
$connection->commit();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -164,6 +164,19 @@ class Connection extends \Doctrine\DBAL\Connection implements IDBConnection {
|
||||||
return $msg;
|
return $msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Drop a table from the database if it exists
|
||||||
|
*
|
||||||
|
* @param string $table table name without the prefix
|
||||||
|
*/
|
||||||
|
public function dropTable($table) {
|
||||||
|
$table = $this->tablePrefix . trim($table);
|
||||||
|
$schema = $this->getSchemaManager();
|
||||||
|
if($schema->tablesExist(array($table))) {
|
||||||
|
$schema->dropTable($table);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// internal use
|
// internal use
|
||||||
/**
|
/**
|
||||||
* @param string $statement
|
* @param string $statement
|
||||||
|
|
|
@ -158,4 +158,11 @@ interface IDBConnection {
|
||||||
* @return \Doctrine\DBAL\Platforms\AbstractPlatform The database platform.
|
* @return \Doctrine\DBAL\Platforms\AbstractPlatform The database platform.
|
||||||
*/
|
*/
|
||||||
public function getDatabasePlatform();
|
public function getDatabasePlatform();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Drop a table from the database if it exists
|
||||||
|
*
|
||||||
|
* @param string $table
|
||||||
|
*/
|
||||||
|
public function dropTable($table);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue