为什么mysqltable"muc_room"存储空间不持久?
Why mysql table "muc_room" stores not persistent room?
我的 ejabberd 服务器使用 mysql 数据库作为外部存储,我使用 ejabberd API 的方法 /create_room_with_opts 创建我的房间选项:{名称:"persistent",值:"false"}。
一切正常文件和创建的房间看起来实际上是临时的 - 当最后一个参与者离开时它们会自动关闭。
但我有一个问题 - 创建的非永久性房间保存在 table muc_room 中,尽管它必须只包含永久性房间(https://docs.ejabberd.im/developer/sql-schema/#table-muc-room)
例如,我可以在 muc_room table:
中有以下选项的空间
[{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 table 中(也许是一些错误)?
2) 如何避免在重新启动 ejabberd 服务器时重新创建这些房间(除了从数据库中删除它:手动或使用 mysql 事件)?
Why are not persistent room created with ejabberd API stored in muc_room table
这是有意添加在此提交中的:
https://github.com/processone/ejabberd/commit/05c2995c7a4c2afb8481826f9dbe9ed9ec0b282b
解决这个问题:
https://github.com/processone/ejabberd/issues/1954
显然,现在没有必要,所以我在最近的提交中删除了它:
https://github.com/processone/ejabberd/commit/5574b21dd67ba898ea1ba55fb4556b6cd53c58cd
我的 ejabberd 服务器使用 mysql 数据库作为外部存储,我使用 ejabberd API 的方法 /create_room_with_opts 创建我的房间选项:{名称:"persistent",值:"false"}。 一切正常文件和创建的房间看起来实际上是临时的 - 当最后一个参与者离开时它们会自动关闭。
但我有一个问题 - 创建的非永久性房间保存在 table muc_room 中,尽管它必须只包含永久性房间(https://docs.ejabberd.im/developer/sql-schema/#table-muc-room)
例如,我可以在 muc_room table:
中有以下选项的空间[{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 table 中(也许是一些错误)? 2) 如何避免在重新启动 ejabberd 服务器时重新创建这些房间(除了从数据库中删除它:手动或使用 mysql 事件)?
Why are not persistent room created with ejabberd API stored in muc_room table
这是有意添加在此提交中的: https://github.com/processone/ejabberd/commit/05c2995c7a4c2afb8481826f9dbe9ed9ec0b282b
解决这个问题: https://github.com/processone/ejabberd/issues/1954
显然,现在没有必要,所以我在最近的提交中删除了它: https://github.com/processone/ejabberd/commit/5574b21dd67ba898ea1ba55fb4556b6cd53c58cd