/** * export * * @param bool $ignoreTrack * @param bool $prefixOnly * * @return mixed|string */ public function export($ignoreTrack = false, $prefixOnly = false) { $tableObject = new Table(); $trackObject = new Track(); $tables = $prefixOnly ? $tableObject->listSite() : $tableObject->listAll(); $track = $trackObject->getTrackList(); $sql = array(); $this->tableCount = 0; $this->rowCount = 0; foreach ($tables as $table) { $trackStatus = $track->get('table.' . $table, 'none'); if ($trackStatus == 'none' && !$ignoreTrack) { continue; } $sql[] = $this->queryHelper->dropTable($table); $sql[] = $this->getCreateTable($table); $this->tableCount++; if ($trackStatus == 'all' || $ignoreTrack) { $insert = $this->getInserts($table); if ($insert) { $sql[] = $insert; } } } $this->state->set('dump.count.tables', $this->tableCount); $this->state->set('dump.count.rows', $this->rowCount); return implode(";\n\n", $sql); }
/** * export * * @param bool $ignoreTrack * @param bool $prefixOnly * @param bool $text * * @return mixed|string */ public function export($ignoreTrack = false, $prefixOnly = false, $text = true) { $tableObject = new Table(); $trackObject = new Track(); $tables = $prefixOnly ? $tableObject->listSite() : $tableObject->listAll(); $track = $trackObject->getTrackList(); $result = array(); $this->tableCount = 0; $this->rowCount = 0; foreach ($tables as $table) { $trackStatus = $track->get('table.' . $table, 'none'); if ($trackStatus == 'none' && !$ignoreTrack) { continue; } $result[$table] = $this->getCreateTable($table); $this->tableCount++; if ($trackStatus == 'all' || $ignoreTrack) { $insert = $this->getInserts($table); if ($insert) { $result[$table] = array_merge($result[$table], $insert); } } } $this->state->set('dump.count.tables', $this->tableCount); $this->state->set('dump.count.rows', $this->rowCount); $dumper = new Dumper(); $result = json_decode(json_encode($result), true); return $text ? $dumper->dump($result, 3, 0, false, true) : $result; }
/** * status * * @return array */ public function status() { $trackObject = new Track(); $tables = $this->listAll(); $track = $trackObject->getTrackList(); $statusList = array(); foreach ($tables as $table) { $status = array(); $trackStatus = $track->get('table.' . $table); $status['table'] = $table; $status['status'] = $trackStatus ?: 'none'; $statusList[] = $status; } return $statusList; }