我想找到由 Perl ORM 包生成的确切 SQL 语句,例如Class::DBI。我不是在寻找为简单的插入和删除而生成的 SQL,而是寻找由稍微复杂的对象操作导致的行修改(例如,在作为父表中行的子表的表中插入行)
有什么方法可以得到吗?
我想找到由 Perl ORM 包生成的确切 SQL 语句,例如Class::DBI。我不是在寻找为简单的插入和删除而生成的 SQL,而是寻找由稍微复杂的对象操作导致的行修改(例如,在作为父表中行的子表的表中插入行)
有什么方法可以得到吗?
Class::DBI 在后台使用 DBI,因此您可以通过环境变量启用对所有 SQL 语句的跟踪:
DBI_TRACE=3=dbi.log your-perl-script
或者在 Perl 内部,在执行任何语句之前:
use DBI;
DBI->trace(2, 'dbi.log');
既然你说“比如”……
如果您使用的是DBIx::Class(具有Class::DBI 兼容层) ,则可以将环境变量设置为DBIC_TRACE
。1