คำถามติดแท็ก updating

ใช้สำหรับคำถามเกี่ยวกับการอัปเดตคอร์และโมดูลที่สนับสนุน

3
ฉันจะรวมการเปลี่ยนแปลงจากสำเนาการพัฒนาของไซต์เป็นไซต์สดโดยไม่สูญเสียเนื้อหาใหม่ได้อย่างไร
ขั้นตอนที่ดีที่สุดสำหรับการรวมงานที่ทำไว้กับสำเนาการพัฒนาของไซต์เป็นสำเนาการผลิตจริงคืออะไร บ่อยครั้งที่มีการเพิ่มเนื้อหาใหม่จำนวนมากลงในไซต์นับตั้งแต่การพัฒนาเริ่มต้นด้วยคุณสมบัติใหม่ล่าสุด และส่วนเพิ่มเติมไปยังไซต์จะเกี่ยวข้องกับการเปลี่ยนแปลงฐานข้อมูล ดังนั้นการคัดลอกไฟล์ใหม่จึงเป็นเรื่องง่าย แต่ฐานข้อมูลล่ะ? คุณผสานการเปลี่ยนแปลงของคุณกับฐานข้อมูลการผลิตที่มีอยู่โดยไม่สูญเสียเนื้อหาใหม่ที่เพิ่มเข้ามาตั้งแต่ครั้งล่าสุดที่คุณปรับปรุงไซต์การผลิตได้อย่างไร มีโมดูลใดบ้างที่ช่วยในเรื่องนี้

6
ฉันจะหลีกเลี่ยงการตรวจสอบการอัปเดตสำหรับโมดูลเฉพาะได้อย่างไร
ในโครงการปัจจุบันฉันต้องแก้ไขชีวิตจากโมดูลไม่กี่ (ลำดับชั้นโหนด, การเข้าถึง workbench และอีกไม่กี่) ตอนนี้โมดูลเหล่านี้สมบูรณ์แบบอย่างยิ่งสำหรับความต้องการของโครงการและไม่น่าเป็นไปได้ที่จะทำลายการอัปเดตหลักในอนาคต ที่ถูกกล่าวว่าเมื่อแอปมอบให้กับลูกค้าจะสามารถเข้าถึง (ผู้ใช้ 1) เต็มระบบและดังนั้นจึงจะได้รับการเตือนเมื่อโมดูลเหล่านี้มีการปรับปรุงพร้อมใช้งาน และพวกเขาจะอัปเดตพวกเขาไม่ว่าฉันจะขอร้องพวกเขาไม่กี่ครั้งก็ตาม (โอ้ชีวิตง่ายแค่ไหนที่ปราศจากลูกค้า!) มีวิธี (อาจใน.infoไฟล์โมดูล) เพื่อโน้มน้าวให้ผู้จัดการการปรับปรุงไม่ตรวจสอบการปรับปรุงสำหรับโมดูลเหล่านี้หรือไม่ แก้ไข ฉันทราบถึงproject status urlกุญแจที่ใช้ได้สำหรับ.infoไฟล์ดังนั้นฉันเดาว่าฉันสามารถตั้งค่าให้เป็น URL ที่ไม่มีอยู่จริง แต่ฉันควรทำอย่างนี้ค่อนข้างสะอาดถ้าเป็นไปได้
35 7  updating 

2
วิธีการเปลี่ยนจากการเปิดตัวโมดูลที่แนะนำไปเป็นรุ่น dev?
ตัวอย่างเช่นปัจจุบันฉันใช้โมดูลGeofield ฉันใช้เวอร์ชั่น: 7.x-1.0-beta2 (2011-Nov-17) ตอนนี้ฉันเห็นเวอร์ชันการพัฒนามีฟังก์ชั่นบางอย่างที่ฉันต้องการ ฉันจะ "อัพเกรด" อย่างถูกต้องและปลอดภัยเป็นเวอร์ชันการพัฒนาของโมดูลได้อย่างไร 7.x-1.x-dev (2012-Jan-10) สิ่งที่ฉันทำอยู่ในปัจจุบันคือลบ geofield ออกจากเนื้อหาทุกประเภทปิดการใช้งานโมดูล geofield ถอนการติดตั้งโมดูล geofield ลบโมดูล geofield ทางกายภาพออกจากเซิร์ฟเวอร์ของฉันจากนั้นดาวน์โหลดและติดตั้งเวอร์ชัน dev ดูเหมือนว่าจะใช้งานได้ แต่ฉันสงสัยว่ามีเวิร์กโฟลว์ที่มีประสิทธิภาพมากกว่านี้หรือไม่ (ฉันติดตั้ง drush แล้วดังนั้นฉันจึงเปิดรับวิธีแก้ปัญหาที่เกี่ยวข้องกับ drush)
34 7  drush  updating 

6
ฉันจะอัพเดตการกำหนดค่าของโมดูลได้อย่างไร?
ฉันกำลังสร้างโมดูลที่กำหนดเองใน Drupal 8 ซึ่งมีไฟล์กำหนดค่า YAML บางไฟล์ ขณะที่ฉันพัฒนาฉันต้องเปลี่ยนและเพิ่มการกำหนดค่าเช่นเพื่อเพิ่มฟิลด์อื่นลงในเอนทิตีที่กำหนดเองของฉัน ในปัจจุบันวิธีเดียวที่ฉันได้รับ Drupal สังเกตเห็นการเปลี่ยนแปลงคือการถอนการติดตั้งโมดูลและติดตั้งใหม่ มีวิธีใดที่จะทำให้ Drupal ตรวจสอบว่าไฟล์ config ที่โมดูลจัดเตรียมไว้นั้นเหมือนกับการกำหนดค่าที่ใช้งานอยู่และถ้าไม่ให้อัพเดทการตั้งค่าที่ใช้งานอยู่ มีการจัดการปรับปรุงโมดูลอย่างไร ใน D7 hook_update_Nจะถูกใช้เพื่อเพิ่มฟิลด์โดยใช้ PHP แต่ดูเหมือนว่า CM นี้จะได้รับการจัดการโดย D8? สิ่งที่ฉันได้ลองหลังจากอัปเดตไฟล์ yml ในโมดูล: drush cr, กำหนดค่าการซิงค์ การคัดลอกไฟล์กำหนดค่าที่อัปเดตด้วยตัวเองทั้งหมดsites/default/files/config_XXX/staging/- แต่นี่ทำให้เกิดข้อผิดพลาดนี้"การกำหนดค่าแบบฉากไม่สามารถนำเข้าได้เพราะมันมาจากไซต์อื่นนอกเหนือจากไซต์นี้คุณสามารถซิงโครไนซ์การกำหนดค่าระหว่างอินสแตนซ์ . การอิมพอร์ตไฟล์ด้วยตนเองทีละคนโดยใช้ตัวจัดการการกำหนดค่า วิธีนี้ใช้ได้ผล แต่จะต้องมีวิธีอัตโนมัติมากกว่า [แก้ไข] ใช้โมดูลconfig_updateด้วยตนเองเพื่อตรวจสอบการเปลี่ยนแปลงและ 'เปลี่ยนกลับ' เป็นค่ากำหนดของโมดูล นี่เป็นคู่มืออีกครั้ง แก้ไข:จากการจัดการการกำหนดค่า - สิ่งที่ต้องทำและไม่ควรทำ DON'TS ลองเปลี่ยนการกำหนดค่าที่ใช้งานอยู่บนเว็บไซต์ของคุณโดยเปลี่ยนไฟล์ในไดเรกทอรี config / install ของโมดูล …

7
drush updatedb สำหรับโมดูลเดียว
เป็นไปได้ไหมที่จะใช้งานฟังก์ชั่นอัพเดทของโมดูลเดียวผ่าน drush? ฉันสามารถดูdrush updatedbว่าไม่ใช้ modulename เป็นอาร์กิวเมนต์และเรียกใช้การปรับปรุงที่มีอยู่ทั้งหมด จากนั้นจะdrush pm-updateตรวจสอบไฟล์ใหม่ด้วย เอกสารพูดว่า: (เหมือนกับ pm-updatecode + updatedb) สิ่งนี้หมายความว่าถ้าฉันเรียกใช้การdrush pm-updateอัปเดตที่มีอยู่ทั้งหมด (ใหม่กว่า update_function ออก) จะสมบูรณ์? มีวิธีการเพียง (db) อัปเดตหนึ่งโมดูลเท่านั้นหรือไม่
28 7  drush  updating 

2
วิธีที่ดีที่สุดในการดร็อปฟิลด์จากประเภทเนื้อหา
วิธีที่ดีที่สุดในการลบฟิลด์ Drupal 7 ออกจากประเภทเนื้อหาที่กำหนดผ่าน GUI คืออะไร ฉันต้องการใช้ hook_update_N เพื่อให้การเปลี่ยนแปลงสามารถแพร่กระจายไปยังเซิร์ฟเวอร์หลายเครื่องเมื่อเรียกใช้ update.php อย่างไรก็ตามฉันไม่สามารถหาทางแก้ไขได้ db_drop_table () จะเหมาะสมสำหรับฉันสำหรับ schema ที่กำหนดเอง แต่ไม่ใช่สำหรับชนิดเนื้อหา / ฟิลด์ที่กำหนดผ่าน GUI
21 7  entities  hooks  updating 

7
ฉันสามารถใช้ PHP 5.5 ได้ไหม
ด้วยการหยุดการทำงานของฟีเจอร์สำหรับ PHP 5.5 ที่ผ่านมาฉันคิดว่ามันเป็นเวลาที่ฉันโพสต์การอัปเดตของคำถามยอดนิยมPHP 5.4 และ Drupal 7 ดังนั้น Drupal สามารถทำงานบน PHP 5.5 ได้หรือไม่?
18 updating 

10
ฉันมีทางเลือกอะไรในการปิดการใช้งานการแจ้งเตือนการอัพเดท แต่ไม่ใช้โมดูลการแจ้งเตือนการอัพเดทปิดการใช้งาน
ฉันต้องปิดการใช้งานการแจ้งเตือนการอัพเดตโดยรวมของ Drupal 7 แทนที่จะดาวน์โหลดโมดูลการแจ้งเตือนการอัพเดทปิดการใช้งานเพราะมันทำให้เกิดข้อผิดพลาดร้ายแรงและเว็บไซต์ล้มเหลว มีวิธีอื่น ๆ ?
18 7  updating 

5
เป็นไปได้ไหมที่จะบังคับให้ hook การอัพเดทของโมดูลทำงานได้?
ฉันเป็นผู้เขียนโมดูล Date iCal และเวอร์ชันหลักใหม่ที่ฉันใช้งาน (3.x) ต้องมีการอัพเดตสกีมาสองส่วนสำหรับผู้ใช้ที่ติดตั้ง 2.x ฉันเขียนเบ็ดการอัพเดทที่ทำให้เกิดการเปลี่ยนแปลงเหล่านี้ แต่หากผู้ใช้ของฉันไม่สามารถเรียกใช้สคริปต์การอัพเดทฐานข้อมูลพวกเขาจะได้รับข้อความแสดงข้อผิดพลาดที่เกี่ยวข้องกับผู้นำเข้าฟีด iCal ของพวกเขา ทางออกที่ถูกต้องคือให้พวกเขาเรียกใช้สคริปต์อัปเดต ... แต่ถ้าพวกเขาเข้าไปและเปลี่ยนผู้นำเข้าด้วยตนเองเพื่อกำจัดข้อความผู้นำเข้าของพวกเขาจะยังคงอยู่อย่างถาวร (เนื่องจากส่วนที่สองของการอัปเดตสคีมาจะไม่ ถูกดำเนินการแล้ว) ดังนั้นจะมีวิธีใดที่จะแสดงข้อความถึงผู้ใช้ที่ไม่ได้เรียกใช้การอัปเดต หรือบังคับให้ดำเนินการอัพเดตเบ็ดเสร็จครั้งแรกที่มีการโหลดหน้าเว็บเกิดขึ้นเมื่อ 3.x ได้รับการติดตั้งมากเกินไป 2.x?
18 7  updating 

3
วิธีลบโปรแกรมออกจากโหนดโดยทางโปรแกรมหรือไม่
หนึ่งจะลบฟิลด์จากโหนดโดยทางโปรแกรมอย่างไร ฉันมีการย้ายhook_update_Nที่ย้ายเนื้อหาจากเขตข้อมูล aa ไปยังตารางที่กำหนดเอง หลังจากการโยกย้ายนั้นฉันต้องการลบเขตข้อมูลในฟังก์ชันเดียวกันนั้น มี API ฟิลด์ใดที่รองรับการลบฟิลด์หรือไม่ แก้ไข, แก้ไข : เนื่องจากคำตอบไม่มีรหัสจริงนี่คือสิ่งที่ฉันได้ย้ายเขตข้อมูลจากผู้ใช้ $ ไปยังบันทึกของตัวเองและจากนั้นลบเขตข้อมูลจากฐานข้อมูล; function my_module_update_7005(&$sandbox) { $slice = 100; //Fetch users from database; if (!isset($sandbox['progress'])) { $sandbox['progress'] = 0; $sandbox['current_uid'] = 0; // We'll -1 to disregard the uid 0... $sandbox['max'] = db_query('SELECT COUNT(DISTINCT uid) FROM {users}')->fetchField() - 1; …
16 7  entities  updating 

5
เวิร์กโฟลว์การอัพเดทคอร์ที่เป็นพื้นฐานของผู้แต่งคืออะไร?
ฉันต้องการใช้นักแต่งเพลงเพื่อจัดการการพึ่งพา Drupal 8 แต่ฉันไม่แน่ใจว่าเวิร์กโฟลว์การอัพเดทหลักที่ถูกต้องคืออะไร ในขณะนี้ฉันใช้ drush เพื่ออัปเดต core เป็นรุ่นเบต้าล่าสุด แต่ฉันยังมีการอ้างอิงบางอย่างในไฟล์ composer.json ของฉันดังนั้นหลังจากการอัปเดตฉันใช้การติดตั้งผู้แต่งเพื่อติดตั้งการพึ่งพาผู้ขาย contrib ทั้งหมด ปรากฏว่าการรันcomposer installแทนที่ไฟล์บางไฟล์ในไดเรกทอรีหลักแม้ว่าฉันเพิ่งจะอัพเดตรุ่นหลักเป็นรุ่นล่าสุด ฉันยังพยายามแก้ไขไฟล์ composer.json ด้วยตนเองและแทนที่บรรทัด "drupal / core" ด้วยรุ่นเบต้าเฉพาะเช่น"drupal/core": "~8.0-beta14",แต่มันยังแทนที่ไฟล์ในไดเรกทอรีหลัก เวิร์กโฟลว์ที่ถูกต้องคืออะไร?
16 drush  8  updating  composer 

1
ฉันจะอัพเดต Drupal 7 Core ด้วยแพตช์รักษาความปลอดภัยเท่านั้นได้อย่างไร
ฉันมีการติดตั้ง Drupal 7 เก่าและต้องการอัปเดต Drupal 7 เป็นรุ่นล่าสุด แต่ฉันรู้ว่าโมดูลที่กำหนดเองของฉันบางส่วนจะหยุดการอัปเดตล่าสุด สิ่งที่ฉันต้องการติดตั้งคือแพตช์รักษาความปลอดภัยจนถึง Drupal 7 ล่าสุดสิ่งนี้สามารถทำได้หรือเป็นไปได้แม้ไม่มีความพยายามมาก? ฉันจะดูสิ่งที่ถูกแพทช์ระหว่างการอัพเดท Drupal 7 core ได้ที่ไหนและอย่างไร

2
วัตถุประสงค์ของการอัพเดตเอนทิตี drush คืออะไร?
หลังจากอัปเดตโมดูล Drupal 8 ฉันได้รับคำเตือนในหน้าสถานะ Drupal 8 ที่: คำนิยามเอนทิตี / ฟิลด์: ตรวจพบการเปลี่ยนแปลงต่อไปนี้ในประเภทเอนทิตีและคำจำกัดความของฟิลด์ หลังจากที่บิตของ Google drush entity-updatesการค้นหาดูเหมือนว่าวิธีการนี้คือการทำงาน อย่างไรก็ตามฉันคิดว่ามันแปลกไปหน่อยเพราะมันดูเหมือนจะเป็นคำสั่งที่ต้องจำหรือรวมไว้ในเวิร์กโฟลว์ของคนหลังจากอัปเดตฐานข้อมูลไม่พูดถึงมันดูเหมือนจะไม่ชัดเจนในทันทีเกี่ยวกับวิธีการแก้ไขคำเตือนเดิม ยิ่งไปกว่านั้นในกรณีของการพัฒนาคุณจะได้รับการแจ้งเตือนสำหรับการกระทำอื่น ๆ ในหน้าสถานะซึ่งจะหมายความว่าคุณจะไม่ทราบทันทีหากคุณต้องการดำเนินการนี้ ทุกคนสามารถอธิบายได้ว่าคำเตือนนี้มีไว้เพื่ออะไร - เหตุใดจึงมีการนำคุณลักษณะนี้ไปใช้ใน D8 และเหตุใดจึงไม่รวมอยู่ในการดำเนินการอัปเดตฐานข้อมูล แต่ต้องแยกจากกัน
14 8  entities  drush  updating 

5
การรีเซ็ตสถานะ hook_update_n ของโมดูล
hook_update_Nฉันขยายโมดูลผมเคยเขียนไว้ก่อนหน้านี้และจะต้องมีการเปลี่ยนแปลงสคีบางอย่างที่ผมดำเนินการใน ฉันได้อัปเดตเวอร์ชันของโมดูลจาก7.x-1.0เป็น7.x-1.1และนำไปใช้foo_update_7100และทำงานได้ดี ปัญหาคือฉันได้ทำผิดพลาดภายในfoo_update_7100และตอนนี้ฉันได้แก้ไขแล้วฉันไม่สามารถรันการอัพเดท 7100 อีกครั้งได้ ฉันต้องการสร้าง 7101 แต่ไม่เหมาะสมเพราะการเปลี่ยนแปลงทั้งหมดของฉันยังไม่ได้ทำ ฉันพยายามรีเซ็ตสถานะของ hook_update_n ทาง: update system set schema_version=-1 where name='foo'; > Query OK, 1 row affected (0.01 sec) > Rows matched: 1 Changed: 1 Warnings: 0 จากนั้นทำdrush cc allแต่drush updatedb -yยังให้ "ไม่มีการอัพเดทฐานข้อมูลที่จำเป็น" ฉันจะแก้ปัญหานี้แทนที่จะเพียงเพิ่มhook_update_Nจำนวนได้อย่างไร
14 7  database  updating 

7
ฉันจะเรียกฟังก์ชัน menu_rebuild ใน Drupal 7 ได้อย่างไร
ฉันต้องการเรียกใช้ฟังก์ชัน menu_rebuild ()แต่ฉันไม่แน่ใจว่าวางโค้ดไว้ตรงไหน ฉันไม่พบไฟล์update.phpที่ใดก็ได้ในอินสแตนซ์ในพื้นที่ของฉัน เหตุผลที่ฉันต้องการลองทำเช่นนี้คือฉันลบโหนดทั้งหมด แต่พวกเขายังคงปรากฏภายใต้โครงสร้างเมนู
13 routes  updating 

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