Можно ли получить операторы SQL, сгенерированные Class :: DBI? - PullRequest
2 голосов
/ 10 января 2010

Я хочу найти точные операторы SQL, сгенерированные пакетом Perl ORM, такие как Class :: DBI . Я не ищу SQL, сгенерированный для простых вставок и удалений, но для модификаций строк, которые являются результатом слегка сложных манипуляций с объектами (например, вставка строк в таблицу, которая является дочерней по отношению к строке в родительской таблице) )

Есть ли способ получить это?

Ответы [ 2 ]

6 голосов
/ 10 января 2010

Class :: DBI использует DBI внутри, поэтому вы можете включить трассировку всех операторов SQL через переменную окружения:

DBI_TRACE=3=dbi.log your-perl-script

Или внутри Perl, перед выполнением любых операторов:

use DBI;
DBI->trace(2, 'dbi.log');

См. http://metacpan.org/pod/DBI#TRACING

2 голосов
/ 10 января 2010

Так как вы сказали "такие как" ...

Вы можете установить переменную окружения DBIC_TRACE на 1, если используете DBIx :: Class (который имеет слой совместимости Class :: DBI ).

...