Так, field_delete_instance () - це функція для видалення екземплярів поля.
Зауважте, що field_delete_instance()
автоматичні дзвінки, field_delete_field()
якщо немає інших екземплярів, так field_delete_instance()
це, швидше за все, все, що вам потрібно.
_update_7000_field_delete_instance()
призначений для основних функцій оновлення. Приклад: x_update_7000()
ви використовуєте функцію оновлення field_delete_instance()
. Тоді в x_update_7001()
, ви змінюєте {field_config}
таблицю непослідовно, і field_delete_instance()
очевидно, що це потрібно також змінити.
Але тепер x_update_7000()
заклик до field_delete_instance()
цього призведе до помилки, оскільки таблиця все ще знаходиться в старій структурі. Однак ситуація з внесеними модулями відрізняється, оскільки вони завжди повинні виконуватися після всіх оновлень ядра, і тому потрібно працювати з останньою версією ядра.
Але це шаблон, який ви можете використовувати для власних функцій API, які ви використовуєте в функціях оновлення.
Крім того, ці функції _update не виконують гачок, оскільки результат не передбачуваний (наприклад, через те, що модуль, для якого виконується оновлення, може бути відключений).