我有一個在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應用程序也會產生不必要的數據(例如,在用戶表中包含他們的測試職位) –