function drop_views(&$dbHandler, $dbItemPrefix, $dbType) { $schema = tlObjectWithDB::getDBViews(); // views present on target db $my_ado = $dbHandler->get_dbmgr_object(); $itemsOnDB = $my_ado->MetaTables('VIEWS'); if (count($itemsOnDB) > 0 && isset($itemsOnDB[0])) { echo "<br />Dropping all TL existent views:<br />"; foreach ($schema as $itemPlainName => $itemFullName) { $target = $dbItemPrefix . $itemPlainName; if (in_array($itemTable, $itemsOnDB)) { // Need to add option (CASCADE ?) to delete dependent object echo "Droping {$target}" . "<br />"; $sql = "DROP VIEW {$target}"; $sql .= $dbType != 'mssql' && $dbType != 'sqlsrv' ? " CASCADE " : ' '; $dbHandler->exec_query($sql); } } echo "<span class='ok'>Done!</span>"; } }