2009-09-10 6 views
1

У меня возникла разработка модуля в Drupal, и из-за некоторых кажущихся ограничений View пришлось использовать собственный SQL. Это привело меня к некоторым проблемам с пересмотрами узлов, и я пришел к выводу , что в Drupal лучше всего использовать свои собственные методы для работы с любыми данными. В противном случае могут возникнуть проблемы с целостностью данных.Сохранение целостности данных в Drupal:

И даже с желанием оптимизировать SQL-запросы в Drupal, очевидно, это должно быть сделано в редких случаях для реальных узких мест.

Что вы испытываете в связи с этой дилеммой - прямые запросы sql против модулей/функций Drupal?

ответ

3

При обновлении данных вы всегда должны использовать Drupal по умолчанию, даже если вам нужно выполнить другие запросы впоследствии для пользовательских таблиц и т. Д. Не очевидно (без копания в коде), что Drupal делает для различных действий, и если вы копируете код действия и поместить его в вашу функцию, вам придется следить за изменениями в ядре с тех пор.

Один трюк с представлениями, которые могут вам помочь, это если у вас есть то, что вы хотите, вы можете увидеть запрос, сгенерированный копиями представлений, и поместить его в свой собственный код. Это устраняет остальную часть служебных данных и может повысить производительность.

+1

+1 для использования функций drupal при обновлении/вставке данных - даже если вы следите за поведением основных модулей, вы можете легко пропустить материал, который другие модули выполняют на множестве операций с крючками. Чтение непосредственно из базы данных обычно хорошо, но имейте в виду, что вы можете пропустить данные, которые другие модули будут добавлять с помощью крючка. –