是否可以获得Class::DBI生成的SQL语句?
我想找到由 Perl ORM 包生成的确切 SQL 语句,例如 Class:: DBI。我不是寻找为简单插入和删除而生成的SQL,而是寻找因稍微复杂的对象操作而产生的行修改(在作为父表中行的子表的表中插入行,例如例如)
有什么方法可以得到它吗?
I want to find the exact SQL statements that are generated by a Perl ORM package such as Class::DBI. I am not looking for SQL generated for simple inserts and deletes, but for row modifications that result from slightly complicated object manipulations (inserting rows in a table which is a child of a row in a parent table, for example)
Is there some way to get it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Class::DBI 在底层使用 DBI,因此您可以通过环境变量启用对所有 SQL 语句的跟踪:
或者在 Perl 内部,在执行任何语句之前:
请参阅 http://metacpan.org/pod/DBI#TRACING
Class::DBI uses DBI under the hood, so you can enable tracing of all SQL statements via an environment variable:
Or inside of Perl, before executing any statements:
See http://metacpan.org/pod/DBI#TRACING
既然你说“比如”...
如果你使用DBIx::Class (其中具有 Class::DBI 兼容层)。
Since you said "such as"…
You can set the environment variable
DBIC_TRACE
to1
if you are using DBIx::Class (which has a Class::DBI compatibility layer).