public function getTableDefinitionHelp()
{
$messages = PHP_EOL;
$this->commandConfig = $this->getCommandConfig();
$messages .= <<<HELP
<comment>Strip option</comment>
If you like to skip data of some tables you can use the --strip option.
The strip option creates only the structure of the defined tables and
forces `mysqldump` to skip the data.
Separate each table to strip by a space.
You can use wildcards like * and ? in the table names to strip multiple
tables. In addition you can specify pre-defined table groups, that start
with an
Example: "dataflow_batch_export unimportant_module_* @log
\$ n98-magerun.phar db:dump --strip="@stripped"
<comment>Available Table Groups</comment>
HELP;
$definitions = $this->getTableDefinitions();
$list = array();
$maxNameLen = 0;
foreach ($definitions as $id => $definition) {
$name = '@' . $id;
$description = isset($definition['description']) ? $definition['description'] . '.' : '';
$nameLen = strlen($name);
if ($nameLen > $maxNameLen) {
$maxNameLen = $nameLen;
}
$list[] = array($name, $description);
}
$decrSize = 78 - $maxNameLen - 3;
foreach ($list as $entry) {
list($name, $description) = $entry;
$delta = max(0, $maxNameLen - strlen($name));
$spacer = $delta ? str_repeat(' ', $delta) : '';
$buffer = wordwrap($description, $decrSize);
$buffer = strtr($buffer, array("\n" => "\n" . str_repeat(' ', 3 + $maxNameLen)));
$messages .= sprintf(" <info>%s</info>%s %s\n", $name, $spacer, $buffer);
}
return $messages;
}