/** * {@inheritdoc} */ public function dropDatabase($database) { $params = $this->_conn->getParams(); $params["dbname"] = "postgres"; $tmpPlatform = $this->_platform; $tmpConn = $this->_conn; $this->_conn = \Doctrine\DBAL\DriverManager::getConnection($params); $this->_platform = $this->_conn->getDatabasePlatform(); parent::dropDatabase($database); $this->_conn->close(); $this->_platform = $tmpPlatform; $this->_conn = $tmpConn; }
/** * {@inheritdoc} */ public function dropDatabase($database = null) { if (null === $database) { $database = $this->_conn->getDatabase(); } $params = $this->_conn->getParams(); $params["dbname"] = "information_schema"; $tmpPlatform = $this->_platform; $tmpConn = $this->_conn; $this->_conn = DriverManager::getConnection($params); $this->_platform = $this->_conn->getDatabasePlatform(); parent::dropDatabase($database); $this->_platform = $tmpPlatform; $this->_conn = $tmpConn; }
/** * {@inheritdoc} */ public function dropDatabase($database) { try { parent::dropDatabase($database); } catch (DriverException $exception) { // If we have a SQLSTATE 55006, the drop database operation failed // because of active connections on the database. // To force dropping the database, we first have to close all active connections // on that database and issue the drop database operation again. if ($exception->getSQLState() !== '55006') { throw $exception; } $this->_execSql(array($this->_platform->getDisallowDatabaseConnectionsSQL($database), $this->_platform->getCloseActiveDatabaseConnectionsSQL($database))); parent::dropDatabase($database); } }
/** * {@inheritdoc} * * Tries stopping a database before dropping * as SQL Anywhere needs a database to be stopped * before it can be dropped. * * @see stopDatabase */ public function dropDatabase($database) { $this->tryMethod('stopDatabase', $database); parent::dropDatabase($database); }