我已经开发了一个 Magento 站点几个月了,在此过程中,我安装并删除了许多扩展,这些扩展本身在我的数据库和服务器上的文件中创建了许多表,以及我尝试构建自己的多个扩展包括很多文件。
我想知道是否有一种方法可以监视正在读取和使用哪些文件,然后能够删除任何未使用的表或文件。
基本上我只想清理未使用的文件和表的存储。
有谁知道这以前是否做过?如果有的话,还从哪里开始寻找?
问候
我已经开发了一个 Magento 站点几个月了,在此过程中,我安装并删除了许多扩展,这些扩展本身在我的数据库和服务器上的文件中创建了许多表,以及我尝试构建自己的多个扩展包括很多文件。
我想知道是否有一种方法可以监视正在读取和使用哪些文件,然后能够删除任何未使用的表或文件。
基本上我只想清理未使用的文件和表的存储。
有谁知道这以前是否做过?如果有的话,还从哪里开始寻找?
问候
据我所知,没有一种工具可以自动“删除所有未使用的扩展表”,因为这可能非常危险(删除仍在使用的表,或者只是禁用扩展的表等)。
如果您想继续,请备份,备份,备份!!. 然后,只有这样,手动浏览数据库并查看每个表(phpMyAdmin 使这变得容易得多)。如果它以未使用的扩展名命名空间开头(通常表名类似于:)namespace_module_tablename
,请查看该表以查看其中是否包含当前/相关数据。Magento DB 模式有一个方便的参考 (http://www.magereverse.com/)。但是,我不知道您对 Magento DB 有多熟悉,如果一个人不小心/知识渊博,您可能会造成巨大的损害。
如果您对 Magento 不是非常熟悉,我会引导您远离执行此操作。根据它是现场商店还是只是您的开发机器,您总是可以重新开始。然后你就知道这是一个好的、干净的开始。
未使用的表格不会占用太多空间,如果您要删除 Magento 本身为您已禁用的 Magento 模块创建的任何表格,则删除它们可能会比您节省的空间更麻烦。
至于使用第三方模块,由于 Magento 是免费的,最好为模块安装设置一个单独的测试服务器,看看它们是否真的有用和/或兼容,然后将它们安装在你的开发安装中,以便在你的网站上运行.
话虽如此,事实上,每个模块都有一个 mysql 安装程序脚本,您可以阅读该脚本以查看进行了哪些数据库更改,以便您可以尝试将它们撤消。这些通常住在app/code/local/(namespace)/(modulename)/sql/(modulename)_setup/*
或app/code/community/(namespace)/(modulename)/sql/(modulename)_setup/*
。它们将按照上述约定命名,mysql4-install-*.php
或者mysql4-upgrade-*.php
尽管上述任何约定都可能被不严格遵守约定的第三方开发人员破坏。
您可以使用其中的 SQL 代码来撤销模块所做的更改。强烈推荐备份。