จะอัปเดตโมดูลที่ปิดใช้งานโดยใช้ Drush ได้อย่างไร


10

มีวิธีอัปเดตโมดูลที่ปิดใช้งานด้วยDrushหรือไม่

ขณะนี้เมื่อฉันพยายามอัปเดตโมดูลที่ปิดใช้งานด้วย Drush ฉันได้รับข้อความนี้:

โครงการไม่มีส่วนขยายที่เปิดใช้งานและไม่สามารถอัปเดตได้

การเปิดใช้งานโมดูลไม่ใช่ตัวเลือกเนื่องจากนี่เป็นไซต์สดจริง ๆ แล้วมีหลายไซต์ พวกเขาทั้งหมดวิ่งออกจากฐานรหัสเดียวกัน Drupal บางโมดูลถูกใช้โดยบางไซต์ แต่ไม่ใช่โมดูลอื่น (อาจไม่ได้อยู่ในไซต์หลัก)

หาก Drush ไม่สามารถจัดการกับสิ่งนี้ได้ทางเลือกที่ง่ายสำหรับการอัพเดตโมดูลคืออะไร


เกี่ยวกับ "พวกเขาทั้งหมดวิ่งออกมาจากฐานรหัสเดียวกัน Drupal": โปรดยืนยันว่ามันผ่านการก่อสร้างหลายเว็บไซต์ (ถ้าไม่ใช่อย่างอื่น)?
Pierre.Vriens

คำตอบ:


6

คุณสามารถใช้drushมัน ก่อนอื่นคุณจะต้องรับรายการโมดูลทั้งหมดที่คุณใช้เพื่อใช้งานdrush pm-listเช่นนี้drush pm-list --no-core --pipe --type="module"คุณจะได้รับรายการโมดูลทั้งหมด (เปิดใช้งานปิดใช้งานและถอนการติดตั้ง)

หลังจากนั้นเมื่อคุณได้รับรายการทั้งหมดของโมดูลคุณสามารถใช้drush dl [modules - list]กับคำสั่งนี้drushเพื่อดาวน์โหลดและแทนที่โมดูลที่มีอยู่ drush upเช่นเดียวกับที่เขาทำกับ

ปัญหาสุดท้ายคือการใช้งานupdate.phpแต่น่าเสียดายที่สิ่งนี้คุณต้องทำสำหรับแต่ละเว็บไซต์หรือคุณสามารถเขียนโค้ดสคริปต์ขนาดเล็กที่ทำได้


ว้าว. ฉันไม่เคยคิดที่จะทำสิ่งนี้ แต่ฟังดูเหมือนจะใช้ได้ คำเตือนใด ๆ ที่ฉันควรรู้เกี่ยวกับ?
nmc

Btw, Drush มีคำสั่งupdatedb (updb)ที่รัน update.php เป็นหลัก คุณสามารถโทรdrush @sites updbเพื่ออัปเดตไซต์ย่อยทั้งหมดได้ในครั้งเดียว
nmc

ผมรู้ว่าเมื่อผมบอกว่าคุณได้update.phpเป็นอย่างใดอย่างหนึ่งตาม URL หรือdrushที่เห็นได้ชัด :)
Yvan

1
ตอนนี้คำตอบอายุ 4 ปีตอนนี้มีการตอบสนองที่ดีกว่าที่นี่ในหัวข้อนี้: drupal.stackexchange.com/a/177851/7009
Screenack

13

ฉันใช้: drush pm-updatecode --check-disabled ตามด้วย: drush @sites updatedb

--check-disabledตัวเลือกที่ถูกเพิ่มเข้ามา 2014/11/04


5
นี่คือการตอบสนองที่ถูกต้อง - รักมันอย่างเหมาะสม
Screenack


6

ดังนั้นฉันเพิ่งรู้ว่าการอัปเดตโมดูลที่ปิดใช้งานนั้นเป็นไปได้ผ่าน Drush โดยที่คุณได้ตั้งค่ากล่องกาเครื่องหมายไว้Check for updates of disabled modules and themesในการตั้งค่าของโมดูลตัวจัดการตัวจัดการอัปเดตของคุณ(ที่admin/reports/updates/settings)

ถ้าอย่างนั้นมันเป็นเรื่องของการออกคำสั่งdrush up modulenameเพื่ออัพเดทโมดูล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.