public static function DBDrop() { $bDropEntireDB = true; if (!empty(self::$m_sTablePrefix)) { // Do drop only tables corresponding to the sub-database (table prefix) // then possibly drop the DB itself (if no table remain) foreach (CMDBSource::EnumTables() as $sTable) { // perform a case insensitive test because on Windows the table names become lowercase :-( if (strtolower(substr($sTable, 0, strlen(self::$m_sTablePrefix))) == strtolower(self::$m_sTablePrefix)) { CMDBSource::DropTable($sTable); } else { // There is at least one table which is out of the scope of the current application $bDropEntireDB = false; } } } if ($bDropEntireDB) { CMDBSource::DropDB(self::$m_sDBName); } }