Как добавить поле узла в таблицу базы данных в пользовательском модуле
-
16-10-2019 - |
Вопрос
Когда я пишу свой собственный собственный модуль и проектирую таблицу базы данных, если я хочу использовать поле nid
Чтобы ссылаться на узел, потому что я хочу, чтобы мой модуль добавил что -то в каждый узел, как мне реализовать это в файле mymodule.install модуля?
Решение
Большую часть времени вы, вероятно, захотите использовать полевой API (модуль CCK в D6), а не добавлять пользовательские таблицы или модифицировать узел самостоятельно.
Добавление пользовательских таблиц было очень D5 способом делать вещи.
Если вы хотите сделать это, вам нужно будет определить свои таблицы, используя hook_schema()
а затем в вашем крюке mymodule_install () вы можете позвонить drupal_install_schema()
Это должно создать новую таблицу, которая представляет ваш модуль.
Стоит отметить, что ваша схема всегда должна представлять вашу текущую схему. Если вы добавите столбец, вы должны изменить схему, чтобы кто -то, кто устанавливает ваш модуль, получил правильную схему, но также написать функцию обновления, чтобы изменить таблицу, чтобы существующие пользователи получали правильную новую схему.
Можно изменить таблицы других модулей, но я думаю, что это должно быть рассмотрено в другом вопросе.