tables as $db) { $columns = $schema->databaseFields($db); $query = "SHOW COLUMNS FROM $db"; $liveColumns = DB::query($query)->column(); $backedUp = 0; $query = "SHOW TABLES LIKE 'Backup_$db'"; $tableExists = DB::query($query)->value(); if ($tableExists != null) { $output->writeln("Tasks run already on $db exiting"); return Command::SUCCESS; } $backedUp = 0; foreach ($liveColumns as $index => $column) { if ($backedUp == 0) { $output->writeln("Backing up $db
"); $output->writeln("Creating Backup_$db
"); // backup table $query = "CREATE TABLE Backup_$db LIKE $db"; DB::query($query); $output->writeln("Populating Backup_$db
"); $query = "INSERT Backup_$db SELECT * FROM $db"; DB::query($query); $backedUp = 1; } if (!isset($columns[$column]) && !in_array($column, $this->keepColumns ?? [])) { $output->writeln("Dropping $column from $db
"); $query = "ALTER TABLE $db DROP COLUMN $column"; DB::query($query); } } } return Command::SUCCESS; } }