/** * Delete the migration datasets from the table * * @param string $tableName */ public function batchDelete($tableName) { $migrationData = self::$_migrationPath . $this->_version . '/' . $tableName . '.dat'; if (!file_exists($migrationData)) { return; // nothing to do } self::$_connection->begin(); self::$_connection->delete($tableName); $batchHandler = fopen($migrationData, 'r'); while (($line = fgets($batchHandler)) !== false) { $data = explode('|', rtrim($line), 2); self::$_connection->delete($tableName, 'id=?', [$data[0]]); unset($line); } fclose($batchHandler); self::$_connection->commit(); }