3

我已经开发了一个 Magento 站点几个月了,在此过程中,我安装并删除了许多扩展,这些扩展本身在我的数据库和服务器上的文件中创建了许多表,以及我尝试构建自己的多个扩展包括很多文件。

我想知道是否有一种方法可以监视正在读取和使用哪些文件,然后能够删除任何未使用的表或文件。

基本上我只想清理未使用的文件和表的存储。

有谁知道这以前是否做过?如果有的话,还从哪里开始寻找?

问候

4

2 回答 2

3

据我所知,没有一种工具可以自动“删除所有未使用的扩展表”,因为这可能非常危险(删除仍在使用的表,或者只是禁用扩展的表等)。

如果您想继续,请备份,备份,备份!!. 然后只有这样,手动浏览数据库并查看每个表(phpMyAdmin 使这变得容易得多)。如果它以未使用的扩展名命名空间开头(通常表名类似于:)namespace_module_tablename,请查看该表以查看其中是否包含当前/相关数据。Magento DB 模式有一个方便的参考 (http://www.magereverse.com/)。但是,我不知道您对 Magento DB 有多熟悉,如果一个人不小心/知识渊博,您可能会造成巨大的损害。

如果您对 Magento 不是非常熟悉,我会引导您远离执行此操作。根据它是现场商店还是只是您的开发机器,您总是可以重新开始。然后你就知道这是一个好的、干净的开始。

于 2012-11-24T14:04:09.130 回答
3

未使用的表格不会占用太多空间,如果您要删除 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 代码来撤销模块所做的更改。强烈推荐备份。

于 2012-11-25T16:45:07.813 回答