Score:3

ข้อมูลสคีมาสำหรับโมดูลหายไป - วิธีแก้ไข

ธง in

ฉันพยายามติดตั้งโมดูล Scheduler แต่ติดตั้งไม่ถูกต้อง เนื่องจากเราไม่มีรหัสสำหรับโมดูลแบบกำหนดเองอื่นที่ฐานข้อมูลคิดว่าติดตั้งแล้ว ฉันได้รับรหัสสำหรับโมดูลที่ขาดหายไป

โมดูลตัวกำหนดตารางเวลาของฉันใช้งานไม่ได้อย่างสมบูรณ์ เช่นเดียวกับฐานข้อมูลของฉัน ฉันไม่สามารถถอนการติดตั้งโมดูลได้เนื่องจากไม่มีฟิลด์ในฐานข้อมูล

Drupal\Core\Database\DatabaseExceptionWrapper: SQLSTATE[42S22]: คอลัมน์ ไม่พบ: 1054 คอลัมน์ที่ไม่รู้จัก 'publish_on' ใน 'where clause': SELECT 1 เป็น "นิพจน์" จาก "node_field_data" "t" โดยที่ "publish_on" ไม่ใช่ NULL LIMIT 1 ออฟเซ็ต 0; อาร์เรย์ ( ) ใน Drupal\Core\Entity\Sql\SqlContentEntityStorage->countFieldData() (บรรทัด 1777 จาก /code/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php)

ฉันพยายามเรียกใช้ update.php แต่ฉันเพิ่งได้รับข้อความต่อไปนี้โดยไม่มีวิธีเรียกใช้การอัปเดตสำหรับโมดูลตัวกำหนดตารางเวลา

ข้อมูล Schema สำหรับตัวกำหนดตารางเวลาของโมดูลหายไปจากฐานข้อมูล

คุณควรตรวจสอบการอัปเดตโมดูลและฐานข้อมูลของคุณด้วยตนเอง ตรวจสอบว่ามีการอัปเดตใด ๆ ที่ถูกข้ามไปหรือไม่ รวมถึง ตัวกำหนดตารางเวลา_update_8102()

ฉันจะตรวจสอบการอัปเดตโมดูลด้วยตนเองและเรียกใช้เพื่อให้ฐานข้อมูลของฉันตรงกันได้อย่างไร อย่างน้อยฉันจะสามารถใช้หรือถอนการติดตั้งโมดูลได้

ขอบคุณ!

in flag
ง่ายกว่าเพียงแค่ย้อนกลับการเปลี่ยนแปลงรหัสและโหลดข้อมูลสำรองฐานข้อมูล จากนั้นแก้ไขปัญหานั้นเกี่ยวกับโมดูลแบบกำหนดเองที่ขาดหายไปก่อนที่จะลองติดตั้งอีกครั้ง
in flag
ปัญหาไม่ได้อยู่ที่โมดูลแบบกำหนดเอง มันมาพร้อมกับโมดูลตัวกำหนดตารางเวลา ไม่ได้ติดตั้งโมดูลตัวกำหนดตารางเวลาอย่างถูกต้องเนื่องจากมีอย่างอื่นขาดหายไป ตอนนี้ฉันไม่สามารถลบหรือทำอย่างอื่นกับไซต์ได้เนื่องจากสคีมายุ่งกับตัวจัดกำหนดการ
in flag
รับรองได้ว่าไม่ใช่โปรแกรมจัดกำหนดการอย่างแน่นอน เมื่อคุณติดตั้งโมดูล Drupal จะทำสิ่งอื่นๆ ด้วย (ตรวจสอบว่ามีการอ้างอิงหรือไม่ ตรวจสอบว่าปลั๊กอินมีอยู่หรือไม่ _run hooks_ เป็นต้น) หากสิ่งอื่น ๆ เหล่านั้นขัดข้องระหว่างการติดตั้ง การติดตั้งของคุณอาจจบลงไม่สมบูรณ์ ในกรณีนี้ การติดตั้งโปรแกรมจัดกำหนดการของคุณล้มเหลวในเวลาหลังจากที่ได้ลงทะเบียนตัวเองเป็นเปิดใช้งาน แต่ก่อนที่สกีมาจะได้รับการอัปเดต คำถามไม่เคยพูดถึงว่าโมดูลแบบกำหนดเองนี้คืออะไร ทำหน้าที่อะไร ติดตั้งโปรแกรมจัดตารางเวลาอย่างไร หรือมีขั้นตอนอื่นๆ อะไรบ้าง ดังนั้นเราจะไม่มีทางรู้ได้เลยว่าเกิดอะไรขึ้นกันแน่
in flag
ขอบคุณสำหรับข้อมูล. ฉันรู้ว่าเกิดอะไรขึ้น และฉันรู้ว่าทำไมมันถึงเกิดขึ้น คำถามยังคงอยู่ -- เมื่อสิ่งนี้เกิดขึ้น ฉันจะแก้ไขได้อย่างไร การมีข้อความระบุว่า "ตรวจสอบการอัปเดตโมดูลด้วยตนเอง" จะมีประโยชน์อะไรหากไม่มีวิธีเรียกใช้การอัปเดตด้วยตนเอง ถ้าฉันพบวิธีง่ายๆ ในการรันสคริปต์การติดตั้งสำหรับตัวกำหนดตารางเวลา มันคงช่วยแก้ปัญหานี้ได้ มิฉะนั้น โมดูลไม่ควรตายเมื่อถอนการติดตั้ง หากไม่พบข้อมูลตารางหรือสคีมา ควรมีวิธีเก็บขยะในตัวอย่างน้อยที่สุด

โพสต์คำตอบ

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