กู้คืนเขตข้อมูลที่ถูกลบ


11

ฉันมีประเภทเนื้อหาที่มี 4 ฟิลด์ซึ่งแต่ละรายการเป็นการอ้างอิงคำศัพท์ มี 100 โหนดแต่ละการอ้างอิง 4 คำที่กำหนด ฉันลบหนึ่งในฟิลด์เหล่านี้โดยไม่ตั้งใจออกจากผู้ดูแลระบบ> โครงสร้าง> เนื้อหาประเภท> ประเภทเนื้อหา ... ทำให้มีโหนดทั้งหมด 100 โหนดที่สูญเสียคำอ้างอิงฟิลด์ที่สูญหายนี้ที่มีอยู่

หลังจากติดตั้งโมดูลผู้ดูแลระบบฐานข้อมูลฉันเห็นว่าฐานข้อมูลสำหรับเขตข้อมูลที่ถูกลบของฉันยังคงปรากฏอยู่มันถูกเปลี่ยนชื่อเป็น "field_deleted_field_74"

  1. ใช้ mysql ฉันสามารถเปลี่ยนชื่อฐานข้อมูลนี้กลับไปเป็น "field_data_field_originalname" - เช่นการใช้ชื่อเครื่องเดิมสำหรับฟิลด์ที่ถูกลบ
  2. นอกจากนี้ฉันยังสามารถเปลี่ยนค่าของคอลัมน์ที่ถูกลบภายในฐานข้อมูลนี้จาก '1' เป็น '0'

ฉันได้ทำข้างต้นด้วยฐานข้อมูล 'ผี' อื่น ๆ ที่ฉันพบว่าถูกเรียกว่า "field_revision_field_74" ...

ปัญหาของฉันตอนนี้คือฟิลด์ที่ถูกเปลี่ยนชื่อของฉันไม่ปรากฏเป็นฟิลด์ที่มีอยู่แล้วในฟิลด์จัดการประเภทเนื้อหาของฉันแสดงหรือที่ผู้ดูแลระบบ> รายงาน> รายการเขตข้อมูล เมื่อฉันเรียกใช้ 'เขตข้อมูลเขตข้อมูล Drush' จะหายไปเช่นกัน

ฉันจะนำมันกลับมาได้อย่างไร ฉันสมมติว่ามีฐานข้อมูลอื่นที่อ้างอิงถึงที่ฉันต้องการแก้ไข

ขอบคุณ!


คุณมีการสำรองข้อมูลของฐานข้อมูลทั้งหมดก่อนที่จะลบเขตข้อมูลหรือไม่
Ollie

แต่น่าเสียดายที่ไม่ได้. อย่างไรก็ตามฉันแก้ไขปัญหาได้แล้ว
iain maitland

คำตอบ:


14

คำถามที่ดีและน่าประหลาดใจที่ไม่มีวิธีที่ง่ายกว่าในการย้อนกลับเขตข้อมูลที่ถูกลบเนื่องจากข้อมูลยังคงมีอยู่

สมมติว่าคุณมี:

  1. เปลี่ยนชื่อ field_deleted_ * กลับเป็น field_data_field_myfield และ field_revision_field_myfield (หลังก็สำคัญเช่นกัน)
  2. อัปเดตการตั้งค่าสถานะ 'ลบ' จาก 1 เป็น 0 ในตารางข้อมูลที่เกี่ยวข้อง

นอกจากนี้ยังมี

  • field_config

การกำหนดค่าฟิลด์หลัก

  • field_config_instance

การกำหนดค่าฟิลด์ในบันเดิลเอนทิตีเฉพาะ

คุณอาจต้องปรับการตั้งค่าสถานะ 'ลบ' ด้วย:

เช่น:

UPDATE field_config SET deleted = 0 where field_name = 'field_my_deleted_field';
UPDATE field_config_instance SET deleted = 0 where field_name = 'field_my_deleted_field';
TRUNCATE TABLE cache_field;

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