我有一个用Moodle开发的LMS网站。它有很多数据已由我的QA团队添加。这些数据包括用户,论坛,帖子等。
Moodle在清理网站方面有一些奇怪的行为。例如如果我们从admin帐户删除用户,该条目仍保留在数据库表{user}中。最有可能的原因是被删除的用户可能有其他历史帖子。但是没有办法从数据库中清除已删除的用户。我的客户希望在生产中获得干净的应用程序副本。
有人可以帮忙吗?
答案 0 :(得分:2)
我使用了以下内容:
php /path/to/moodle/admin/cli/fix_deleted_users.php
DELETE FROM mdl_user WHERE deleted = 1
一切都运转正常。基本上,fix_deleted_users.php
删除已删除用户的所有引用,然后将那些空的已删除用户留在mdl_user
表中,可以进一步删除。我们只需要处理可能使用已删除用户ID的第三方插件,但在我的情况下,我没有安装任何插件,因此它成功了。
令人惊讶的是,我没有在互联网上找到关于此文件的任何文档。希望它可以帮到某人。
答案 1 :(得分:0)
您是正确的,用户不会从数据库中删除(并且正是您猜到的原因 - 系统上仍有记录引用该用户ID,因此记录需要保持现有;还可以恢复用户在某些情况下,因此需要保留它们。)
如果您想在生产站点上获得Moodle的干净副本,那么请从干净安装开始。
如果那不是你想要的,而是想要一些配置设置和一些(全部?)的课程,那么它不再是一个“干净”的副本,但你可以尝试以下: