新增tools
This commit is contained in:
@@ -3,7 +3,7 @@ declare (strict_types = 1);
|
||||
|
||||
namespace catcher\command\Tools;
|
||||
|
||||
use catcher\CatchAdmin;
|
||||
use catcher\Tree;
|
||||
use think\console\Command;
|
||||
use think\console\Input;
|
||||
use think\console\input\Argument;
|
||||
@@ -11,22 +11,36 @@ use think\console\input\Option;
|
||||
use think\console\Output;
|
||||
use think\facade\Db;
|
||||
|
||||
class BackUpDataCommand extends Command
|
||||
class ExportDataCommand extends Command
|
||||
{
|
||||
protected $table;
|
||||
|
||||
protected function configure()
|
||||
{
|
||||
// 指令配置
|
||||
$this->setName('backup:data')
|
||||
->addArgument('tables', Argument::REQUIRED, 'backup tables')
|
||||
->addOption('zip', '-z',Option::VALUE_NONE, 'is need zip')
|
||||
->setDescription('backup data you need');
|
||||
$this->setName('export')
|
||||
->addArgument('table', Argument::REQUIRED, 'export tables')
|
||||
->addOption('pid', '-p', Option::VALUE_REQUIRED, 'parent level name')
|
||||
->setDescription('Just for catchAdmin export data');
|
||||
}
|
||||
|
||||
protected function execute(Input $input, Output $output)
|
||||
{
|
||||
|
||||
$table = \config('database.connections.mysql.prefix') . $input->getArgument('table');
|
||||
|
||||
|
||||
$parent = $input->getOption('pid');
|
||||
|
||||
$data = Db::name($table)->where('deleted_at', 0)->select()->toArray();
|
||||
|
||||
if ($parent) {
|
||||
$data = Tree::done($data, 0, $parent);
|
||||
}
|
||||
|
||||
file_put_contents(root_path() . DIRECTORY_SEPARATOR . $table . '.php', "<?php\r\n return " . var_export($data, true));
|
||||
|
||||
$output->info('succeed!');
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user