我有一个在Moodle中开发的LMS站点。它有很多我的QA团队添加的数据。此数据包括用户,论坛,帖子等。Moodle:清理数据库
Moodle在清理网站方面有一些奇怪的行为。例如如果我们从管理员帐户中删除用户,则条目仍保留在数据库表{user}中。很可能是因为被删除的用户可能有其他历史帖子。但是没有办法从数据库中清理已删除的用户。我的客户希望获得生产应用程序的完整副本。
有人可以帮忙吗?
我有一个在Moodle中开发的LMS站点。它有很多我的QA团队添加的数据。此数据包括用户,论坛,帖子等。Moodle:清理数据库
Moodle在清理网站方面有一些奇怪的行为。例如如果我们从管理员帐户中删除用户,则条目仍保留在数据库表{user}中。很可能是因为被删除的用户可能有其他历史帖子。但是没有办法从数据库中清理已删除的用户。我的客户希望获得生产应用程序的完整副本。
有人可以帮忙吗?
我用以下:
php /path/to/moodle/admin/cli/fix_deleted_users.php
DELETE FROM mdl_user WHERE deleted = 1
一切工作正常。基本上,fix_deleted_users.php
删除所有已删除用户的引用,然后将mdl_user
表中可以进一步删除的空删除的用户留下。我们只需要照顾可能使用已删除用户ID的第三方插件,但在我的情况下,我没有安装任何插件,因此取得了成功。
令人惊讶的是,我没有在互联网上找到这个文件的任何文件。希望它能帮助别人。
你是对的,用户不会从数据库中删除(并且正是你猜对的原因 - 系统上还有引用该用户标识的记录,所以记录需要保留现有的;也可以恢复用户在某些情况下,所以他们需要保留)。
如果您想在生产站点上使用Moodle的干净版本,那么只需从全新安装开始。
如果这不是你想要的,而是想要一些配置设置和一些(所有?)课程,那么它不再是一个'干净'的副本,但你可以尝试以下内容:
我要尝试使用风味插件。但他们应该给予简化的部署应用程序的方法。 –
谁应该给这个?我不太清楚你想要什么 - 部署Moodle站点非常简单,请设置config.php,运行安装。如果你想将一组配置从一个站点转移到另一个站点,那么这个风格插件就是这样做的。如果你想传输所有的数据,那么只需导出数据库并导入它。 – davosmith
是的,但有很多数据我们不希望与生产开发一起传输。导出QA应用程序也会产生不必要的数据(例如,在用户表中包含他们的测试职位) –