我从这里找到了SQL转储任务http://bakery.cakephp.org/articles/carcus88/2011/04/08/sql_dump_task_for_shells
我在shell中使用。 我已经宣布了
$ tasks = array('SqlDump')
并且,我将这些代码放在main()的最后一行
中PR($这 - > SqlDump-> dump_array());
但没有sql打印出来。如果有人知道如何使用,请告诉我。
答案 0 :(得分:1)
外壳通常受限于输出的大小(如果打印输出太多,可能会切掉一些外壳)。 因此我会选择日志解决方案。
检查我的组件方法: https://github.com/dereuromark/tools/blob/2.0/Controller/Component/CommonComponent.php#L601
它可能可以为shell环境重写。 基本上获取sql日志并将其写入文件:
$log = $object->getDataSource()->getLog(false, false);
CakeLog::write('sql', $log);
当然你也可以在屏幕上打印出来。