Drupal Лог запросов к базе данных

Главные вкладки

Аватар пользователя tlito tlito 18 июня 2013 в 13:04

Необходимо выявить как добавляются записи в базу данных Drupal.
Важно выяснить все затрагиваемые таблицы с тегами, мета-тегами, категориями, полями записи.
Цель: добавлять записи в обход тяжелой админки друпал, также автоматически.
Как можно узнать какие запросы выполняет друпал при сохранении записи?
Пробовал:
редактировать includes/database/database.inc и сохранять в файл insert, update запросы - ни одного запроса.
Вставлял в функцию db_query код:
/*log db*/
preg_match("/INSERT/",$query,$mtch1);
preg_match("/UPDATE/",$query,$mtch2);
if ((count($mtch1)>0) or (count($mtch2)>0))
{
$myf=fopen("dblog.txt", "a");
fwrite($myf,$query);
fclose($myf);
}
файл был пустым. А при вставке без проверки insert, uodate записывались запросы Select ни одного insert.
Тот же код пробовал вставить в includes/database/mysql/database.inc в функцию queryRange - не нашел своих записей. В итоге какие-то мета-данные друпала пишутся, вместо готовых Insert и update.

Где искать непосредственные insert drupal? М.б. Поставить триггер на все таблицы Бд - как такое сделать?

Комментарии

Аватар пользователя vitg vitg 18 июня 2013 в 15:37

1) поставьте модуль devel, после установки можно указать опцию профилирования sql-запросов
2) hook_query_alter - в нём можно вывести через dpm() нужный запрос.

Аватар пользователя antohos antohos 20 сентября 2013 в 16:40

vitg, уточните, пожалуйста, где в devel включить профилирование sql-запросов? Разве для Drupal 7 эта функция работает?