Необходимо выявить как добавляются записи в базу данных 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? М.б. Поставить триггер на все таблицы Бд - как такое сделать?
Комментарии
1) поставьте модуль devel, после установки можно указать опцию профилирования sql-запросов
2) hook_query_alter - в нём можно вывести через dpm() нужный запрос.
vitg, уточните, пожалуйста, где в devel включить профилирование sql-запросов? Разве для Drupal 7 эта функция работает?
Под рукой нет drupal7 + devel.
Находится в настройках Devel (отображать SQL запросы) для 6.x.