* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) */ namespace PrestaShop\Module\AutoUpgrade\UpgradeTools; use Db; class Database { /** * @var Db */ private $db; public function __construct(Db $db) { $this->db = $db; } /** * @return array */ public function getAllTables(): array { $tables = $this->db->executeS('SHOW TABLES LIKE "' . _DB_PREFIX_ . '%"', true, false); $all_tables = []; foreach ($tables as $v) { $table = reset($v); $all_tables[$table] = $table; } return $all_tables; } /** * ToDo: Send tables list instead. * * @param string[] $tablesToClean */ public function cleanTablesAfterBackup(array $tablesToClean): void { foreach ($tablesToClean as $table) { $this->db->execute('DROP TABLE IF EXISTS `' . bqSql($table) . '`'); $this->db->execute('DROP VIEW IF EXISTS `' . bqSql($table) . '`'); } $this->db->execute('SET FOREIGN_KEY_CHECKS=1'); } }