private function importSnippets() { $this->IOHelper->writeln("Import snippets..."); /** @var DumpIterator $dump */ $dump = $this->container->get('dump'); if (!$dump) { $this->IOHelper->writeln("skipped..."); return 1; } /** @var \PDO $conn */ $conn = $this->container->get('db'); $snippetStep = new SnippetStep($conn, $dump); $progress = $this->IOHelper->createProgressBar($dump->count()); $progress->start(); $offset = 0; do { $progress->setCurrent($offset); $result = $snippetStep->run($offset); if ($result instanceof ErrorResult) { throw new \Exception($result->getMessage(), 0, $result->getException()); } $offset = $result->getOffset(); $progress->setCurrent($offset); } while ($result instanceof ValidResult); $progress->finish(); $this->IOHelper->writeln(""); }
/** * @param \PDO $conn * @param DumpIterator $dump */ private function dumpProgress(\PDO $conn, DumpIterator $dump) { $totalCount = $dump->count(); $progress = $this->IOHelper->createProgressBar($totalCount); $progress->setRedrawFrequency(20); $progress->start(); foreach ($dump as $sql) { // Execute each query one by one // https://bugs.php.net/bug.php?id=61613 $conn->exec($sql); $progress->advance(); } $progress->finish(); $this->IOHelper->writeln(""); }