ฟังก์ชั่น 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 ทั้งหมดซ้ำด้วยมือได้