Score:0

พบปัญหากับ Drush หลังจากอัปเดตจาก 8.9.20 เป็น 9.3.13

ธง jp

ฉันอัปเกรดจาก 8.9.20 เป็น 9.3.13 และฉันได้ทำการ update.php หลังจากนี้ ฉันได้รับข้อผิดพลาด:

ไม่มีการอัปเดตสำหรับ: มุมมอง เวอร์ชันที่ติดตั้งของโมดูล Views เก่าเกินไปที่จะอัปเดตอัปเดตเป็นเวอร์ชันก่อน 9.0.0 ก่อน (การอัปเดตที่ขาดหายไป: views_post_update_remove_core_key)

หากฉันพยายามอัปเดต databse ด้วย drush updatedb ฉันได้รับข้อผิดพลาดเช่นกัน:

ใน BootstrapHook.php บรรทัดที่ 36: Bootstrap ล้มเหลว รันคำสั่งของคุณด้วย -vvv สำหรับข้อมูลเพิ่มเติม

มีโอกาสที่จะแก้ปัญหานี้หรือไม่?

นี่คือสถานะ: รุ่น Drupal : 9.3.13
URI ของไซต์: http://default
ไดร์เวอร์ฐานข้อมูล : mysql
ชื่อโฮสต์ฐานข้อมูล: localhost
พอร์ตฐานข้อมูล : 3306
ชื่อผู้ใช้ฐานข้อมูล : xxx
ชื่อฐานข้อมูล : xxx
ไบนารี PHP : /usr/local/Cellar/php/8.0.3/bin/php
การกำหนดค่า PHP : /usr/local/etc/php/8.0/php.ini
PHP OS : ดาร์วิน
สคริปต์ Drush : /usr/local/bin/drush
Drush เวอร์ชั่น : 11.0.9
อุณหภูมิดรัช : /tmp
การกำหนดค่า Drush: /Users/mb/Sites/vendor/drush/drush/drush.yml /Users/mb/drush/drush.yml
Drupal root : /Users/mb/Sites
เส้นทางของไซต์ : ไซต์/ค่าเริ่มต้น

ขอบคุณสำหรับการช่วยเหลือ!

4uk4 avatar
cn flag
มีอะไรไม่ชัดเจนเกี่ยวกับข้อความแสดงข้อผิดพลาดที่คุณต้องเรียกใช้ update.php ก่อนและหลังการอัปเกรดเท่านั้น
id flag
คุณพิจารณาใช้คำสั่งของคุณด้วย -vvv เพื่อดูข้อมูลเพิ่มเติมหรือไม่
id flag
https://www.drupal.org/project/drupal/issues/3169345#comment-14295352
Score:1
ธง cn

ฟังก์ชั่น views_post_update_remove_core_key ถูกนำมาใช้ใน Drupal 8.8 และถูกลบออกใน Drupal 9.0 ดู views_removed_post_updates.

เพื่อหลีกเลี่ยงข้อผิดพลาดนี้และข้อผิดพลาดที่คล้ายกันอื่นๆ คุณต้องเรียกใช้ update.php หรือ drush updb อย่างน้อยหนึ่งครั้งด้วย Drupal 8.8.12 หรือ Drupal 8.9.20 (ตรวจสอบให้แน่ใจว่ารันได้โดยไม่มีข้อผิดพลาดในขณะที่คุณยังใช้ Drupal 8) ก่อนจึงจะสามารถอัปเกรดโค้ดเป็น Drupal 9 ได้ จากนั้นการเรียกใช้ update.php บน Drupal 9 ก็ไม่ควร โยนข้อผิดพลาดนี้


คุณสามารถเพิ่มโพสต์ที่ไม่ได้รับการอัปเดตไปยังสถานะของการติดตั้ง Drupal ของคุณได้

$key_value = \Drupal::service('ค่าคีย์');
$existing_updates = $key_value->get('post_update')->get('existing_updates', []);
$post_updates = [
  'update_test_postupdate_post_update_foo',
  'update_test_postupdate_post_update_bar',
  'update_test_postupdate_post_update_pub',
  'update_test_postupdate_post_update_baz',
];
$key_value->get('post_update')->set('existing_updates', array_merge($existing_updates, $post_updates));

(รหัสมาจาก UpdatePostUpdateTest)

จากนั้นเรียกใช้การอัปเดตที่ไม่ได้รับด้วยตัวคุณเอง ในตัวอย่างนี้ คุณสามารถบันทึก Views ทั้งหมดซ้ำด้วยมือได้

druplash avatar
jp flag
ขอบคุณ! หมายความว่าฉันต้องกลับไปที่ 8.9.20 และเริ่มอัปเดตและขั้นตอนการอัปเกรดอีกครั้งใช่หรือไม่ หรือฉันมีโอกาสที่จะแก้ปัญหานี้ในสถานการณ์นี้?
4uk4 avatar
cn flag
คุณสามารถลองดูคำตอบที่แก้ไขแล้ว แต่อาจมีรหัสอัปเดตที่ขาดหายไปอีกมาก ไม่น่าจะเป็นไปได้ว่านี่เป็นเพียงฟังก์ชั่นการอัพเดทโพสต์เดียวเท่านั้น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา