เหตุใดตาราง mysql muc_room จึงไม่เก็บห้องถาวร

เซิร์ฟเวอร์ ejabberd ของฉันใช้ฐานข้อมูล mysql เป็นที่จัดเก็บข้อมูลภายนอก และฉันใช้วิธี /create_room_with_opts ของ ejabberd API เพื่อสร้างห้องของฉันด้วยตัวเลือก: {name: "persistent", value: "false"}. ทุกอย่างทำงานเป็นไฟล์และสร้างห้องให้ดูเหมือนห้องชั่วคราว โดยจะปิดโดยอัตโนมัติเมื่อผู้เข้าร่วมคนสุดท้ายออกไป

แต่ฉันมีปัญหาหนึ่ง - ห้องที่สร้างไม่ถาวรจะถูกบันทึกไว้ในตาราง muc_room แม้ว่าจะต้องมีห้องถาวรเท่านั้น (https://docs.ejabberd.im/developer/sql-schema/#table-muc-room)

ตัวอย่างเช่น ฉันสามารถมีห้องได้โดยมีตัวเลือกต่อไปนี้ในตาราง muc_room:

[{allow_change_subj,true},
 {allow_private_messages,true},
 {allow_private_messages_from_visitors,anyone},
 {allow_query_users,true},
 {allow_subscription,false},
 {allow_user_invites,false},
 {allow_visitor_nickchange,true},
 {allow_visitor_status,true},
 {anonymous,true},
 {captcha_protected,false},
 {lang,<<>>},
 {logging,false},
 {mam,true},
 {max_users,200},
 {members_by_default,true},
 {members_only,false},
 {moderated,true},
 {password,<<>>},
 {password_protected,false},
 ======> {persistent,false},
 {presence_broadcast,[moderator,participant,visitor]},
 {public,true},
 {public_list,true},
 {title,<<>>}]

ปัญหาหลักคือฉันได้รับห้องที่ไม่ถาวรทั้งหมดที่สร้างขึ้นใหม่ขณะรีสตาร์ทเซิร์ฟเวอร์ ejabberd

คำถาม: 1) เหตุใดจึงไม่สร้างห้องถาวรด้วย ejabberd API เก็บไว้ในตาราง muc_room (อาจมีข้อบกพร่องบางอย่าง) 2) วิธีหลีกเลี่ยงการสร้างห้องเหล่านี้ใหม่เมื่อรีสตาร์ทเซิร์ฟเวอร์ ejabberd (ยกเว้นการลบออกจาก DB: ด้วยตนเองหรือใช้เหตุการณ์ mysql)


person Dmitry Sergeyev    schedule 06.02.2020    source แหล่งที่มา


คำตอบ (1)


เหตุใดจึงไม่สร้างห้องถาวรด้วย ejabberd API ที่จัดเก็บไว้ในตาราง muc_room

ที่ถูกเพิ่มโดยเจตนาในคอมมิตนี้: https://github.com/processone/ejabberd/commit/05c2995c7a4c2afb8481826f9dbe9ed9ec0b282b

เพื่อแก้ไขปัญหานี้: https://github.com/processone/ejabberd/issues/1954

เห็นได้ชัดว่าตอนนี้ไม่จำเป็น ดังนั้นฉันจึงลบมันออกในการคอมมิตล่าสุด: https://github.com/processone/ejabberd/commit/5574b21dd67ba898ea1ba55fb4556b6cd53c58cd

person Badlop    schedule 07.02.2020
comment
หลังจากที่คุณลองวิธีแก้ปัญหานี้แล้ว หากสามารถแก้ปัญหาของคุณได้ ให้ทำเครื่องหมายคำตอบนี้ว่าดี เพื่อไม่ให้ใครใช้เวลาตรวจสอบเรื่องนี้อีก - person Badlop; 11.02.2020