Применять обновления базы данных только для одного модуля


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

Drush, похоже, только дает мне возможность применить все ожидающие обновления, как и update.php сценарий. Есть ли способ применить только ожидающие обновления базы данных для определенного модуля при наличии ожидающих обновлений для нескольких?

 1
Author: lathomas64, 2014-01-08

2 answers

Быстрое и грязное решение - прокомментировать функции ожидающего обновления в модулях, которые вы не будете обновлять.

... но не рассказывайте всем, что я предложил вам этот хак:-)

 0
Author: FiNeX, 2014-01-08 18:27:28

Drush позволяет вам просто обновить указанный вами модуль:

drush up module_machine_name

Если вы просто хотите применить ожидающие обновления базы данных для модулей, которые уже были обновлены:

drush updatedb

Этот случай актуален при обновлении базы кода с помощью git или для многоузловых установок. В вашем конкретном случае это может быть то, что вы искали - просто примените обновления базы данных (используя эту команду: для всех модулей, которым требуются обновления базы данных), но не обновляйте никаких дополнительных кодовая база.

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

function modulename_update_prioritynumber
(e.g. devel_update_7000)

Номер приоритета определяет порядок применения обновлений. Вы можете вручную выполнить код для обновлений с помощью drush:

drush eval "the update code"

Например:

drush eval "variable_del('dev_query');
drush @yoursite eval "variable_del('dev_query');

(@ваш сайт добавлен, если требуется загрузка для многоузловой установки)

В этом примере переменная будет удалена dev_query из таблицы базы данных переменных (из функции devel_update_7002).

Для более подробного обсуждения этого см.: drush updatedb для одного модуля - особенно ответ Моше вейцмана, сопровождающего drush, о применении отдельных обновлений. Я бы рекомендовал применить обновления модуля, которые вас беспокоят, по поводу раскомментирования инструкций updatedb в других модулях - как следует из другого ответа.

 2
Author: Ursula, 2017-04-13 12:46:55