Сохранение целостности данных в Drupal:
-
05-07-2019 - |
Вопрос
Мне довелось разработать модуль в Drupal, и из-за некоторых кажущихся ограничений View пришлось использовать пользовательский SQL. Это натолкнуло меня на некоторые проблемы с ревизиями узлов, и я пришел к выводу что в Drupal лучше использовать его нативные методы для работы с любыми данными. В противном случае могут возникнуть проблемы с целостностью данных. Р>
И даже при желании оптимизировать SQL-запросы в Drupal, очевидно, это следует делать в редких случаях для реальных узких мест. Р>
Что вы испытываете в связи с этой дилеммой - прямые SQL-запросы или модули / функции Drupal?
Решение
При обновлении данных вы всегда должны использовать Drupal по умолчанию, даже если впоследствии вам нужно будет выполнить другие запросы для пользовательских таблиц и т. д. Не очевидно (без углубления в код), что Drupal делает для различных действий и если вы копируете код для действия и поместите его в вашу функцию, вы должны будете следить за изменениями в ядре с тех пор.
Одна хитрость с представлениями, которая может вам помочь, это то, что если представления дали вам почти то, что вам нужно, вы можете увидеть запрос, сгенерированный представлениями, скопируйте его и поместите в свой собственный код. Это устраняет остальную часть затрат на просмотр и может значительно повысить производительность.