Score:0

จะลบการอัปเดตเอนทิตีปลอมได้อย่างไร

ธง id

มีบางอย่าง (ฉันไม่แน่ใจว่าอะไร) ได้แนะนำสิ่งที่ดูเหมือนจะเป็นการอัปเดตเอนทิตีปลอมลงในไซต์ Drupal 9 ของฉัน ฉันต้องการลบการอัปเดตเพื่อไม่ให้ฉันใช้การอัปเดตอีกต่อไป

> ฟันผุ
ประเภทเอนทิตีผู้ใช้ :
ต้องอัปเดตฟิลด์ User ID

 คุณต้องการเรียกใช้การอัปเดตที่รอดำเนินการทั้งหมดหรือไม่ (ใช่/ไม่ใช่) [ใช่]:
 > ใช่

ใน SqlContentEntityStorageSchema.php บรรทัด 1842:

  ที่เก็บข้อมูล SQL ไม่สามารถเปลี่ยนสคีมาสำหรับฟิลด์ที่มีอยู่ (uid ใน user
   เอนทิตี) พร้อมข้อมูล

เมื่อฉันลบข้อมูลผู้ใช้ทั้งหมดและพยายามอัปเดตอีกครั้ง:

> ฟันผุ
ประเภทเอนทิตีผู้ใช้ :
ต้องอัปเดตฟิลด์ User ID

 คุณต้องการเรียกใช้การอัปเดตที่รอดำเนินการทั้งหมดหรือไม่ (ใช่/ไม่ใช่) [ใช่]:
 > ใช่

ใน ExceptionHandler.php บรรทัดที่ 50:

  SQLSTATE[23000]: การละเมิดข้อจำกัดด้านความสมบูรณ์: 1062 รายการซ้ำ '0' สำหรับคีย์ 'หลัก':
  แก้ไขตาราง "ผู้ใช้" เพิ่ม `uid` INT ที่ไม่ได้ลงนาม ไม่เป็นโมฆะ เพิ่มคีย์หลัก (`uid`); อาร์เรย์()

ใน StatementWrapper.php บรรทัดที่ 116:

  SQLSTATE[23000]: การละเมิดข้อจำกัดด้านความสมบูรณ์: 1062 รายการซ้ำ '0' สำหรับคีย์ 'หลัก'

เดอะ ผู้ใช้ ตารางมีอยู่แล้ว uid คอลัมน์ซึ่งเป็นคีย์หลักและการอัปเดตเอนทิตีนี้จะล้มเหลวเสมอ

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

Score:4
ธง cn

ดูเหมือนจะแปลกมาก สคีมาของเอนทิตีสำหรับฟิลด์ uid เปลี่ยนไปอย่างไร

คุณกำลังบอกว่าตารางฐานข้อมูลผู้ใช้เหมือนกันกับการติดตั้ง Drupal อื่นๆ หรือไม่

เกิดอะไรขึ้นกับสคีมาหน่วยเก็บข้อมูลที่ติดตั้งสำหรับตาราง

\Drupal::keyValue('entity.storage_schema.sql')->get('user.entity_schema_data')

และสนาม?

\Drupal::keyValue('entity.storage_schema.sql')->get('user.field_schema_data.uid')

หากนี่เป็นสิ่งเดียวที่ผิด คุณสามารถตั้งค่าข้อมูลที่ถูกต้องได้:

\Drupal::keyValue('entity.storage_schema.sql')->set('user.entity_schema_data', $data)

Drupal ติดตามการติดตั้งเทียบกับคำจำกัดความเอนทิตีที่กำหนดรหัส ดังนั้นไม่ว่ารหัสที่ไม่รู้จักได้ทำอะไรลงไป ก็อาจสร้างความเสียหายได้มากกว่านี้

id flag
ค่าตารางในอินสแตนซ์ dev ของฉันเหมือนกับค่าที่สอดคล้องกันในฐานข้อมูลสำหรับการติดตั้ง D9 ใหม่ อย่างไรก็ตาม มีความแตกต่างระหว่างค่าฟิลด์ ฉันได้อัปเดตค่า dev สำหรับ `user.field_schema_data.uid` ให้ตรงกับค่าติดตั้งใหม่ และสิ่งนี้ได้ขจัดข้อผิดพลาดของรายงานสถานะ ขอขอบคุณ [4k4](https://drupal.stackexchange.com/users/47547/4k4) สำหรับคำแนะนำของคุณ
id flag
คำถามเกี่ยวกับความแตกต่างเกิดขึ้นได้อย่างไร และสิ่งที่อาจแฝงอยู่ในอินสแตนซ์ dev ของฉันยังคงอยู่ ฉันจะแจ้งเตือนข้อผิดพลาดอื่นๆ

โพสต์คำตอบ

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