我从这里找到了 SQL 转储任务http://bakery.cakephp.org/articles/carcus88/2011/04/08/sql_dump_task_for_shells
我在外壳中使用。我已经声明了
$tasks = array('SqlDump')
而且,我把这些代码放在 main() 的最后一行
pr($this->SqlDump->dump_array());
但是没有sql打印出来。如果有人知道如何使用,请告诉我。
我从这里找到了 SQL 转储任务http://bakery.cakephp.org/articles/carcus88/2011/04/08/sql_dump_task_for_shells
我在外壳中使用。我已经声明了
$tasks = array('SqlDump')
而且,我把这些代码放在 main() 的最后一行
pr($this->SqlDump->dump_array());
但是没有sql打印出来。如果有人知道如何使用,请告诉我。
shell 通常会限制输出的大小(如果打印输出过多,可能会切断其中的一部分)。因此我会选择日志解决方案。
检查我的组件方法: 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);
当然你也可以在屏幕上打印出来。