还有一种低层次的方法可以找出在整个请求过程中进行了哪些查询,这对我非常有用,以便在提交表单时确定要插入到数据库中的内容。
基本上,我所做的是在提交表单之前进行一次数据库转储,在提交表单之后进行另一次数据库转储,然后进行两次差异。
虽然它看起来太原始了,但结果正是我所需要的,无需安装任何插件或修改任何代码或wp-config.php.
我采用的程序是:
准备好表格并填写好所有字段。
执行第一次转储(更改user, pass 和dbname 相应地):
mysqldump -uuser -ppass dbname --skip-opt > /tmp/before.sql
提交表格。
执行第二次转储(更改user, pass 和dbname 相应地):
mysqldump -uuser -ppass dbname --skip-opt > /tmp/after.sql
比较
before.sql 和
after.sql, 分析中的结果
vim:
diff /tmp/before.sql /tmp/after.sql | vim -
例如,对于生成用户迁移脚本非常有用。
备注:
--skip-opt 每行生成一条SQL指令的转储,因此运行时更容易看到更改diff.| vim - 制造vim 读取的输出diff 直接进入缓冲区。