public function export(TableInterface $table, $toDirectory, $baseFileName = null) { if ($baseFileName === null) { $baseFileName = $table->getName() . '-structure.sql'; } exec($this->mysqlDumpPath . 'mysqldump -u' . $this->username . ' -p' . quotemeta($this->password) . ' ' . $this->database . ' ' . $table . ' --no-data --create-options --disable-keys --lock-tables --skip-add-drop-table --skip-comments > "' . $toDirectory . '/' . $baseFileName . '"'); }
public function export(TableInterface $table, $toDirectory, $baseFileName = null) { if ($baseFileName === null) { $baseFileName = $table->getName() . '-data'; } if (!is_dir($this->tmpDir)) { mkdir($this->tmpDir, 0777, true); chmod($this->tmpDir, 0777); } exec('mysqldump -u' . $this->username . ' -p' . quotemeta($this->password) . ' ' . $this->database . ' ' . $table . ' --fields-terminated-by=\\\\0 --no-create-info --tab ' . $this->tmpDir); exec('cat ' . $this->tmpDir . '/' . $table . '.txt > ' . $toDirectory . '/' . $baseFileName . '.csv && rm ' . $this->tmpDir . '/' . $table . '.txt'); file_put_contents($toDirectory . '/' . $baseFileName . '.sql', $this->getCsvLoad($baseFileName . '.csv', $table, array_keys(iterator_to_array($table, true)))); }